javascript - 如何在cshtml页面中检查ViewBag的属性?

标签 javascript jquery asp.net-mvc razor viewbag

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

在 Controller.cs 上:

Viewbag.Mode= "EDIT";

我需要检查 Viewbag.Mode 中的值 如果是EDIT,则将警报显示为EDIT

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

最佳答案

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

在您的 CSHTML 中:

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

在 jQuery 中:

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

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

关于javascript - 如何在cshtml页面中检查ViewBag的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18610113/

相关文章:

javascript - sigma.js 中的有向边 - 一个最小的示例

javascript - 如果主体宽度最大为 500px,我想添加一个按钮

JavaScript 添加类不起作用?

c# - 如何处理 ASP MVC 中的重复表单字段

asp.net - 使用 asp.net 4.5 OAuth 用 clientid 和 secret 注册谷歌

ajax - Ajax错误消息仅显示状态

javascript - 调整容器大小时,Cytoscape.js 指令不会使尺寸无效

javascript - 使用 amCharts 烛台图表中数据点上的气球文本中的文本更改许多 int 值的精度

javascript - 使用正则表达式将单词替换为字符串

javascript - 获取动态生成元素的内容并将其放入 'before parent'元素