我有一个 .NET Core 2 Razor View ,其底层模型位于 *.cshtml.cs 文件中。假设我有这样一个字符串:
public string myVar = "hello world";
如何在我的外部 JavaScript 文件中访问这个变量(数据)?
我在下面的例子中需要这个。我正在使用 jVectorMap jquery 库。在那里我可以选择 map 的多个区域。我必须保存选定的区域(假设在一个唯一 ID 数组中),以便在用户加载包含 map 的特殊页面时,我可以用选定的区域预填充 map 。并且数据(所选区域)可以因用户而异。所以我必须为每个用户存储数据并且必须加载数据。 jVectorMap 有一个 API 函数,允许用一些数据预填充 map 。
但是我怎样才能访问我在外部 javascript 文件中保存的变量/数据?
编辑: 我在这里添加了一个示例:https://dotnetfiddle.net/QV4Fi1
最佳答案
选项 1
模型
public class MyModel
{
public string MyProperty {get;set;}
}
cshtml
@model WebAppp.MyModel
@Html.HiddenFor(x=>x.MyProperty)
javascript
$("#MyProperty").val();
选项 2
在 Controller 中,您可以存储在 ViewData 或 ViewBag 中
ViewBag["MyPropertyValue"] ="something";
在 cshml 中(我没试过但应该可以)
@Html.Hidden("MyProperty",ViewData["MyPropertyValue"],new { @class = "someclass" })
javascript
$("#MyProperty").val();
关于javascript - 将 .net 核心模型数据传递给外部 javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48733775/