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();

这就是我能想到的,任何华丽的方式来实现这一目标......

这些字段是动态的,它根据用户角色来决定其显示或隐藏,如果我在视图中进行此检查,那将是繁琐的工作,所以我想无论如何我都可以在控制器中以编程方式做到这一点。

MVC4 使用控制器隐藏或禁用字段

您可以使用帮助程序:

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)