我的应用程序是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的true。任何建议,谢谢你们。
答案 0 :(得分:1)
你可以试试这个:
@Html.TextBoxFor(model => model.Subject_motion, new { @readonly = "readonly" })
以下是EditorFor和TextBoxFor之间差异的解释:
Differences between Html.TextboxFor and Html.EditorFor in MVC and Razor