如何在cshtml页面中查看ViewBag的属性?

时间:2013-09-04 09:27:50

标签: javascript jquery asp.net-mvc razor viewbag

我正在研究MVC应用程序,我需要检查cshtml页面上的ViewBag值,我该怎么做?

在Controller.cs上:

Viewbag.Mode= "EDIT";

我需要检查Viewbag.Mode的值 如果EDIT显示警告为EDIT

我在JavaScript中编写这个条件代码,在cshtml中检查Viewbag属性的语法是什么?

2 个答案:

答案 0 :(得分:1)

很简单..只需在ViewPage中使用@Razor语法

@if(ViewBag.Mode=="Edit")
{
 //here you show the alert thing
}

答案 1 :(得分:1)

您无法直接访问javascript中的C#变量,因为一个是服务器端,另一个是客户端。您需要将ViewBag值写入HTML输出,然后询问DOM以使用javascript查找它。像这样:

在您的CSHTML中:

@Html.Hidden("Mode", (string)ViewBag.Mode, new { id = "mode" })

在jQuery中:

if ($('#mode').val() == "EDIT") {
    // do something...
}

您也可以将JS代码直接包装在视图中的C#if (ViewBag.Mode == "EDIT")语句中,但这既丑陋又不是关注点的良好分离。