我正在尝试将一些模型属性添加到我的内容页面中的 JavaScript 中:
$(document).ready(function () {
createPager(1, <%=Model.TotalPages %>);
createUnprocessedPager(1, <%=Model.TotalUnprocessedPages %>);
});
有谁知道这是否是设计使然?您不打算将模型属性与 JavaScript 结合起来吗?或者这是一个错误?
这按预期工作。但是,我在
<% ... %>
中没有任何智能感知。在实际编写代码时标记。如果我在 <script>
内写任何代码标签,那么就没有智能感知。如果我直接在标签下</script>
并输入 <% Model.... %>
然后繁荣,我再次拥有智能感知。更新:22/10/2010
刚读 Scott Guthrie's latest blog post并且随着即将发布的 ASP.Net MVC 3(可能也适用于测试版),此功能似乎即将推出:
Note: Visual Studio Code/Markup Intellisense and Colorization within Razor files aren’t enabled yet with the Beta earlier this month. You’ll see this show up in a few weeks though – and it will support full code intellisense for HTML, JavaScript, CSS and C#/VB code within Razor files.
最佳答案
我认为也没有语法突出显示。不确定这是错误还是功能,但是 AFAIK,以这种方式组合代码不是一个好习惯。通常内联 javascript 不是一个好的做法,但是如果您使用它,将 Model 属性与其结合,然后决定将脚本提取到单独的 js 文件中,您的代码就会中断。因此,使用 Model 属性填充隐藏字段并使用 jQuery 在 js 中读取它们是很常见的,例如:
<input type="hidden" id="valTotalPages" value="<%=Model.TotalPages %>" />
<input type="hidden" id="valTotalUnprocessedPages" value="<%=Model.TotalUnprocessedPages %>" />
...
// in js
$(document).ready(function () {
createPager(1, $("#valTotalPages").val());
createUnprocessedPager(1, $("#valTotalUnprocessedPages").val());
});
因此,缺乏语法高亮和智能感知可能是一个错误,但也可能是阻止某些代码模式的一种方式。
关于asp.net-mvc - 将模型值分配给 JavaScript 时,为什么 ASP.Net MVC 2.0 中没有智能感知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3538062/