0

我正在开发 MVC 应用程序,我需要检查ViewBagcshtml 页面上的值,我该怎么做?

在 Controller.cs 上:

Viewbag.Mode= "EDIT";

我需要检查值Viewbag.Mode 是否EDIT显示警报为EDIT

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

4

2 回答 2

1

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

@if(ViewBag.Mode=="Edit")
{
 //here you show the alert thing
}
于 2013-09-04T09:31:55.573 回答
1

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

在您的 CSHTML 中:

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

在 jQuery 中:

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

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

于 2013-09-04T09:33:19.267 回答