javascript - 在 Javascript 中格式化 Razor ViewData

标签 javascript razor viewdata

所以我一直在查看相关问题,但我无法弄清楚为什么我的脚本标签格式不正确。

<script language="javascript" type="text/javascript">
    var showME = false;
    var showSuffix = "";

    @if (ViewData["showME"] != null && ViewData["showSuffix"] != null)
    {
        <text>
        showME = @(Convert.ToBoolean(ViewData["showME"]) ? "true" : "false");
        showSuffix = '@Html.Raw(Json.Encode(ViewData["showSuffix "]))';
        </text>
    }
</script>

编辑! 下面的答案是正确的,但我追踪到这一行的格式错误的部分。

var videoHelpUrl = @(Url.Action("Index", "Help", new { Id = 46 }));

最佳答案

试试这个:

<script language="javascript" type="text/javascript">
    var videoHelpUrl = '@Url.Action("Index", "Help", new { Id = 46 })';
    console.log(videoHelpUrl);
</script>

console.log 将输出 Url。

注意:请始终牢记,Razor View 中@ 之后的所有内容都将由 Razor 引擎处理。这就是为什么您可以用引号将 @Url.Action(...) 括起来。它会先被 Razor 引擎处理,然后在执行时被 Javascript 处理。

关于javascript - 在 Javascript 中格式化 Razor ViewData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15391575/

相关文章:

javascript - Jquery 不允许我添加 $(this).html();

javascript - AngularJS Controller 取决于 URL 参数

asp.net-mvc - ViewData 和 ViewBag 在哪里?

asp.net-mvc-3 - 无法在 ASP.NET MVC3 的局部 View 中访问 ViewData

javascript - 我想通过控制台执行 ng-click 功能,可以吗?

javascript - 使这段 JS 代码不引人注目。为未知 id 编写事件监听器

html - 将 Visual Studio 光标移动到打开 HTML 标记的末尾

asp.net-mvc - 无法加载文件或程序集 'System.Web.WebPages.Razor'?

asp.net-mvc-4 - 如何将 kendo ui mvc 网格绑定(bind)到对象列表

Viewdata 的 Javascript 错误