Cshtml页面中的逻辑基于Web配置值在两个不同的脚本之间切换

时间:2016-04-02 00:58:42

标签: razor

我想在页面上显示两个基于Web配置值的脚本,但我只想让其中一个脚本始终显示。

@if (pageModel.ShowB || (pageModel.ShowA==1 && pageModel.ShowB==1) )
{
<!--script to implement B-->
}
@if (pageModel.ShowA)
{
<!--script to implement A-->
}

这是最好的解决方法吗?

1 个答案:

答案 0 :(得分:0)

您的解决方案没有任何问题,但我宁愿将逻辑移动到控制器或构建视图模型的位置。我不喜欢在我的剃刀文件中使用逻辑。

例如

 public ActionResult Index(){
      if (pageModel.ShowB || (pageModel.ShowA==1 && pageModel.ShowB==1) )
      {
          ViewBag.PageScript = 'somescript.js'
      }else
      {
          ViewBag.PageScript = 'otherscript.js'
      }

然后在视图中我会像这样执行脚本

  <script type="..." src="@ViewBag.PageScript"></script>