将服务器端的MVC变量传递给JavaScript
问题:如何将服务器端的MVC变量传递给JavaScript?
在解决这个问题之前,我们有一些选项可以选择。
一种方法是给元素附加data属性或id,并使用JavaScript获取它们。
使用Razor视图:
JavaScript:
$('#someid').data('name')
另一种方法是直接将数据渲染到script标签中。
使用Razor:
var somevar = ""
你还可以使用Json.Encode来编码更复杂的对象。
var somevar = @Json.Encode(object)
另外要强调Declan的答案,如果你使用了`var somevar = "";`的方法,你必须像他一样将其用引号括起来,否则可能会导致语句读取为`var somevar = ;`。这对于字符串等类型可能很直观,但对于可空布尔值、可空整数等处理时可能不太明显。
我建议使用第一种方法(在div或隐藏的input标签中),以更好地区分内容和代码。一旦在.cshtml文件中引入