使用HTML Helper时,根据条件设置属性的最佳方法是什么.例如
<%if (Page.User.IsInRole("administrator")) {%>
<%=Html.TextBoxFor(m => m.FirstName, new {@class='contactDetails'}%>
<%} else {%>
<%=Html.TextBoxFor(m => m.FirstName, new {@class='contactDetails', disabled = true}%>
<%}%>
Run Code Online (Sandbox Code Playgroud)
必须有一种更好的方法以编程方式将一个额外的KeyPair添加到匿名类型?不能用
new { .... disabled = Page.User.IsInRole("administrator") ... }
Run Code Online (Sandbox Code Playgroud)
因为浏览器将任何禁用的属性值视为禁用输入
Den*_*s C 14
我建议你使用mvccontrib.FluentHtml.
你可以做这样的事情
<%=this.TextBox(m=>m.FirstNam ).Disabled(Page.User.IsInRole("administrator"))%>
Run Code Online (Sandbox Code Playgroud)
Dev*_*per 14
它对我也有用......
<%: Html.DropDownList("SportID", (SelectList)ViewData["SportsSelectList"], "-- Select --", new { @disabled = "disabled", @readonly = "readonly" })%>
<%= Html.CheckBoxFor(model => model.IsActive, new { @disabled = "disabled", @readonly = "readonly" })%>
Run Code Online (Sandbox Code Playgroud)
Page.User.IsInRole("管理员")?null:new {disabled ="disabled"}