我正在研究MVC应用程序,我需要检查cshtml页面上的ViewBag
值,我该怎么做?
在Controller.cs上:
Viewbag.Mode= "EDIT";
我需要检查Viewbag.Mode
的值
如果EDIT
显示警告为EDIT
我在JavaScript中编写这个条件代码,在cshtml中检查Viewbag属性的语法是什么?
答案 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")
语句中,但这既丑陋又不是关注点的良好分离。