Javascript if语句不会执行MVC3/razor
Javascript if statement will not execute MVC3/razor
我有以下代码:
<script type="text/javascript">
if ('@(Model.DidPass)' == 'True') {
alert('Blah Blah True');
}
else {
alert('Blah blah false');
}
</script>
我可以看到我的if语句在浏览器中呈现为:
if ('True' == 'True')
由于某些原因,警告('Blah Blah Blah True')不会执行。如果我在VS中步进代码,我可以看到它得到的If语句,然后只是错误。任何想法吗?
你需要像这样从代码过渡到html。否则编译器会认为alert
是一个c#方法调用(它不是),当你试图使用它时,你会得到一个编译器错误。
<script type="text/javascript">
@if(Model.DidPass){
@:alert('Blah Blah True');
} else {
@:alert('Blah blah false');
}
</script>
如果你的javascript占用了多于一行,你也可以使用psuedo元素<text></text>
。@:
仅适用于直到换行符的文本
你试过了吗:
if (Boolean('@(Model.DidPass)') == true) {
alert('Blah Blah True');
}
else {
alert('Blah blah false');
}
呃…我不会这么做,但是,既然你要这么做,为什么不这样做呢:
<script type="text/javascript">
alert('@(Model.DidPass ? "blahblahblah true" : "blahlbahlbah false")');
</script>
edit:通过回滚到三元格式来修复代码。
试试===也许?
从未使用过这个MVC3/razor的东西(甚至不知道它是什么),所以这只是一个猜测
相关文章:
- 用于选择MVC3中单选按钮值的JavaScript
- Razor中的自动提交表单
- 如何在javascript函数中使用Razor值
- 如何在MVC3中显示鼠标悬停在文本上的部分视图
- 使用Razor/C#循环浏览HTML表以获得每个<tr>
- 使用Razor和javascript来获得下拉列表元素
- 如何使用Razor显示模板将字符串转换为html字符串
- 有条件地运行javascript函数-Razor,HTML
- 在 ActionLink mvc3 Razor 中使用 java 脚本变量
- 如何在 .Net MVC3 中使用 json 和 razor snytax 更改表单的标签
- 在 MVC3 Razor 视图引擎中使用 JavaScript 变量
- 如何使用 MVC3 Razor 在 _layout.cshmtl 上创建悬停下拉操作链接
- 将Model和额外参数从View传递到Controller Razor MVC3
- Javascript中的C#if语句,Razor/MVC3
- ASP.NET MVC3,Razor-在Javascript中使用ViewBag或URL变量
- asp.net mvc3 razor, javascript
- jquery不工作后ajax调用.asp .net mvc3(Razor)
- Javascript if语句不会执行MVC3/razor
- asp.net中特定于Razor视图的JQuery代码的最佳实践.净MVC3
- .NET MVC3 + Razor Multiple RenderView/RenderAction