MVC 3 html.TextBoxFor只读可动态设置的属性

问题描述

||
    <div class=\"editor-label\" style=\"position:static\">
        <%: Html.LabelFor(Model => Model.Date,\"Date\")%>
        <span style=\"padding-left:52px\">
            <%: Html.TextBoxFor(Model => Model.Date)%>
在这里,我想在按钮单击/动作单击上将readonly属性设置为文本框。我该怎么做。 在初始页面上,数据显示为只读,然后单击编辑按钮。应该将其更改为可编辑文本框。我几乎有七个文本框需要对所有文本框执行相同的操作。     

解决方法

        如果我正确理解了您的问题,则可以使用一些JavaScript来完成。这是一个简单的例子。 在页面加载时将每个文本框呈现为只读状态:
<%: Html.TextBoxFor(model => model.Date,new { @readonly = \"readonly\" }) %>
为您的编辑按钮添加一个单击处理程序,该处理程序将从每个文本框中删除只读属性:
$(\"#editButton\").click(function() {
    $(\"#Date\").removeAttr(\"readonly\");
});
    ,        使用以下内容:
 Html.TextBoxFor(m => m.Whatever,new {id = \"\",@class=\"\",placeholder=\"\" @readonly=\"readonly\"}) 
希望这可以帮助 :)     ,        我认为你应该把
@readonly = true
要么
@readonly = *your-expression-here*