MVC4 使用控制器隐藏或禁用字段
本文关键字:字段 控制器 MVC4 隐藏 | 更新日期: 2023-09-27 18:32:55
我是 mvc4 的新手,nw 我遇到了一个问题。
在控制器中,我将检查应隐藏或禁用哪个字段。
对于普通的 c#,我可以使用 .visible 来解决,
但是MVC4 +剃须刀,我完全不知道我不想为每个文本框添加CSS类,文本区域如下所示
@Html.TextAreaFor(model => model.消息,新 { @class = "隐藏" })
1- 脚本
在控制器
中构造隐藏字段Viewbag.hideField = "#message,blah,blah";
在视图中
使用 JavaScript 隐藏$(@Viewbag.hideField).hide();
这就是我能想到的,任何华丽的方式来实现这一目标......
这些字段是动态的,它根据用户角色来决定其显示或隐藏,如果我在视图中进行此检查,那将是繁琐的工作,所以我想无论如何我都可以在控制器中以编程方式做到这一点。
您可以使用帮助程序:
Html.HiddenFor(x => x.Message)
或者将 CSS 规则应用于隐藏的类:
.hidden {
display: none;
}
在
HTML中硬编码数据并使用javascript或css有什么不好? 这几乎就是网络的工作方式!
下面是另一个选项:在控制器中创建元素列表,然后使用视图中返回的列表怎么样?
然后你可以像
var itemsToDisplay = new List()
if (User.Role == Admin)
{
var htmlHelper = HtmlHelper()
itemsToDisplay.Add(htmlHelper.TextBoxFor(m => m.Name).ToString());
}
return View("view",itemsToDisplay)