【问题标题】:ASP.NET MVC Razor - JavaScript execution aborts when C# variables are emittedASP.NET MVC Razor - 发出 C# 变量时 JavaScript 执行中止
【发布时间】:2011-12-26 22:21:10
【问题描述】:

我将 MVC3 项目升级到 MVC4,在 Razor 中发出一些 C# 后,似乎没有调用一些 javascript 函数。

<script type="text/javascript">
$(function () {
    var obj = @(Html.Raw(Model.InterestsJson)) ;

    alert('This is never called.');
}); 
</script>

当我从我的 Model.interestsJson 中提取发出的字符串时,javascript 函数会正常运行。

<script type="text/javascript">
$(function () {
    var obj = [{ "Id": 1, "Name": "Sports" }, { "Id": 2, "Name": "Entertainment" }];
    alert('This will now be called'); 
}); 
</script>

奇怪的是,在我将项目升级到 MVC4 之前,这确实有效。

我做的第一件事是检查 js 错误,但没有抛出异常。

有什么想法吗?

【问题讨论】:

  • 我只是喜欢it does not work 问题描述。它是如此详尽。它提供了很多细节。这是一种爱。请继续阅读sscce.org 并提出一个真正的问题,因为我可以将您显示的 sn-p 放在 jsfiddle 中并证明它有效。结论是您的代码中还有其他一些您没有显示的东西导致了问题。通过提到一个问题,它是什么?错误信息?某物?你检查过 FireBug 控制台吗?有什么事吗?

标签: asp.net-mvc razor


【解决方案1】:

@(Html.Raw(Model.InterestsJson)) 语句发出无效的 JS 代码,因此无法解析下一条语句。打开页面源代码并检查它有什么问题。

这应该可以解决问题。

@{ Html.Raw(Model.InterestsJson); }

【讨论】:

    猜你喜欢
    • 2017-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-04
    • 2011-11-23
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    相关资源
    最近更新 更多