繁体   English   中英

MVC 3 Razor如何制作复杂的javascript条件?

[英]MVC 3 Razor how to make complex javascript conditional?

我有这个多行的JavaScript代码段:

$.getJSON('@Url.Action("ReconBases")', 
          { modelId: selectedModelId },
          function(selectItems) { 
            buildDropDown('#SelectedReconId', selectItems); 
          });

我想根据视图模型变量有条件地将此脚本添加到页面中,如下所示:

@if ( Model.GetBases )
{
  <snippet above>
}

任何人都可以告诉我这是否可行以及正确的语法? 我尝试过使用@:和Html.Raw,但我似乎无法获得正确的格式。

Razor中条件内的输出代码必须包含HTML标记,例如<div></div> (这将“标记”为输出,而不是更多C#代码)。

如果没有特定标签符合您的需求,您可以使用Razor特定的特殊<text></text> 这些在渲染过程中不会输出。

@if ( Model.GetBases )
{
  <text>
    <snippet above>
  </text>
}

这也适用forforeach等。

你也可以在这里使用javascript一些代码片段来制作c#的条件。

多行JavaScript代码

使用<text></text>

@if ( Model.SomeProp == true)
{
  <text>
    <Your javaScript Multi-line  code>
  </text>
}

单行JavaScript代码

使用@:

@if ( Model.SomeProp == true)
{  
    @:<Your javaScript single code>  
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM