在Javascript中格式化Razor ViewData
Formatting Razor ViewData in Javascript
所以我一直在看相关的问题,我不能弄清楚为什么我的脚本标签是畸形的。
<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视图中@后面的所有内容都将由Razor引擎处理。这就是为什么你可以用引号括住@Url.Action(…)。它将首先由Razor引擎处理,然后在执行时由Javascript处理。
如果您尝试使用double{{}},如;
@{
if (ViewData["showME"] != null && ViewData["showSuffix"] != null)
{
<text>
showME = @(Convert.ToBoolean(ViewData["showME"]) ? "true" : "false");
showSuffix = '@Html.Raw(Json.Encode(ViewData["showSuffix "]))';
</text>
}
}
相关文章:
- Razor中的自动提交表单
- 如何在javascript函数中使用Razor值
- ngif无法使用ViewData
- 使用Razor/C#循环浏览HTML表以获得每个<tr>
- 使用Razor和javascript来获得下拉列表元素
- 如何使用Razor显示模板将字符串转换为html字符串
- 有条件地运行javascript函数-Razor,HTML
- 如何在Razor MVC 5.2.3 Ajax中使用多个提交按钮
- 如何在Razor中的LINQ表达式中嵌入JavaScript
- 在Javascript中访问Razor布尔变量时出错
- 作为onclick确认的一部分,Razor中的字符串属性
- 如何使用Javascript和Razor编写干净的代码
- Razor/JavaScript和尾部分号
- 如何在 VB 项目中混合使用 Razor 和 Javascript
- MVC Razor 从 javascript 视图中的控制器获取值
- 在 ActionLink mvc3 Razor 中使用 java 脚本变量
- 将 razor 对象传递给 javascript 函数
- 来自 ViewData 列表的 JavaScript 数组 - Razor
- 给Razor中的ViewData赋值
- 在Javascript中格式化Razor ViewData