【发布时间】:2012-11-16 19:53:09
【问题描述】:
我的应用程序是 MVC3 ASPX C#;我正在尝试使用以下命令启用/禁用 Html.EditorFor: 在模型中:
public bool IsReadOnly { get; private set; }
在控制器中:
if (MySession.Current._progress == 100)
ViewData["ReadOnly"] = true;
在视图中:
... Inherits="System.Web.Mvc.ViewPage<Models.CTAHFormEdit>" %>
<script runat="server" type="text/C#">
bool isReadOnly = false;
protected void Page_Load(object sender, EventArgs e)
{
if ((bool?)this.ViewData["ReadOnly"] == true)this.isReadOnly = true;
}
</script>
<%: Html.EditorFor(model => model.Vessel_calcification, Model.IsReadOnly)%>
这不起作用。我也试过了:
<%: Html.EditorFor(model => model.Subject_motion, new { @disable = true })%>
也没有用!
最好的解决方案,因为我在同一个视图中也有下拉列表和复选框是使用 @disable = true 和 @readonly = true 或 false 并且能够使用 ViewBag 更改 true 或 false。任何建议,提前感谢。
【问题讨论】:
-
您是否尝试过创建自定义 EditorFor? stackoverflow.com/questions/5497183/… 我通常只是静态构建我的视图,而不是构建自定义 EditorFor,但这可能不是好的 OO 建议。
标签: asp.net-mvc-3