我试图在触发更改事件后将下拉列表呈现为diabled。我在httppost上的控制器的viewbag中传递了禁用标志。但是,viewbag的名称显示在html标志中,而不仅仅是值。请参阅我下面的代码:使用viewbag禁用html属性
@Html.DropDownList("dropdown", ViewData["dropdown"] as IEnumerable<SelectListItem>, "--Select--", new { @class = "form-control", id = "dropbox", onchange = "this.form.submit();", ViewBag.propertydisable})
在我的控制器
ViewBag.propertydisable = "disabled";
它是如何呈现HTML:
<select class="form-control" id="dropbox" name="searchparams" propertydisable="disabled" onchange="this.form.submit();" >
<option value="">--Select Budget holder--</option>
<option selected="selected" value="option1">option1</option>
<option value="opt">option2</option>
</select>
我是多么希望它渲染是
<select class="form-control" id="dropbox" name="searchparams" disabled onchange="this.form.submit();">
<option value="">--Select Budget holder--</option>
<option selected="selected" value="option1">option1</option>
<option value="opt">option2</option>
</select>
因此,一旦回发完成,最终结果将被禁用。
我已尝试和财产来为禁用无回传被触发,甚至当我设置viewbag值为false。 – snab
@ user2055227没错,只要“禁用”的存在将会禁用它,而不管“=”后面的部分。 – Crowcoder
所以它的js代码是错误的。请参阅更新代码 –