javascript - 如何在 javascript 函数中使用 Razor 值?

标签 javascript asp.net-mvc razor

<分区>

Possible Duplicate:
using razor within javascript

我想将模型中的一个简单值放在 Razor 页面上,并将其用作 javascript 函数中的常量值。即

<script> var myValue = @Model.myRecord.Count();</script>

因此 myValue = 我模型中的记录数。我以 myRecord.Count 为例,它可以是我模型中的任何值。

这可能吗?

TIA J

好的,我偶然发现了以下解决方案:

<script> var myValue = @(Model.myRecord.Count())</script>

只需放入额外的括号即可。

最佳答案

当然,只要确保对其进行正确编码即可。例如,您可以对整个模型本身进行 JSON 编码:

@model IEnumerable<MyViewModel>
<script type="text/javascript">
    var model = @Html.Raw(Json.Encode(Model));
    // at this stage the model javascript variable represents the JSON encoded
    // value of your server side model so that you can access all it's properties:
    alert(model.length);
</script>

或:

alert(model[2].Foo.Bar);

或其他。

但是如果你只关心模型中元素的数量(如果这个模型代表一个集合):

var count = @Html.Raw(Json.Encode(Model.Count()));
alert(count);

关于javascript - 如何在 javascript 函数中使用 Razor 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12359080/

相关文章:

c# - 在给定复杂继承的情况下保持一致的松散耦合

asp.net-mvc - 为什么在 Razor 中使用 Html.RenderAction 时会出现 StackOverflowException?

javascript - 使用Ext js动态加载项目 "loader"

javascript - React HOC DOM 属性正在触发 'Unknown event handler property'

javascript - 检测 TAB 按键并使脚本执行有条件

javascript - 当使用 History.js 从应用程序中的其他位置刷新页面时,如何避免渲染浏览 session 的初始 View ?

javascript - MVC SPA + knockout

c# - Cookie 过期未按预期工作

asp.net-mvc-4 - 修复!类型 'ASP._Page__ViewStart_cshtml' 不继承自 'System.Web.WebPages.StartPage'

javascript - 谷歌地图地址自动填充错误 : Cannot read property 'length' of undefined