MVC 3 html.TextBoxFor readonly要动态设置的属性

时间:2011-06-23 11:27:24

标签: asp.net-mvc-3 html.textbox

    <div class="editor-label" style="position:static">
        <%: Html.LabelFor(Model => Model.Date, "Date")%>
        <span style="padding-left:52px">
            <%: Html.TextBoxFor(Model => Model.Date)%>

这里我想在按钮单击/操作单击上将readonly属性设置为文本框。我该怎么做。 在初始页面,数据以只读方式显示,并在编辑按钮上单击。这应该改为可编辑的文本框。我有几乎七个文本框,我需要为所有人做同样的事情。

3 个答案:

答案 0 :(得分:10)

如果我正确理解你的问题,可以用一点点javascript来完成。这是一个简单的例子。

在页面加载时将每个文本框渲染为只读:

<%: Html.TextBoxFor(model => model.Date, new { @readonly = "readonly" }) %>

为您的编辑按钮添加一个点击处理程序,该处理程序将从每个文本框中删除readonly属性:

$("#editButton").click(function() {
    $("#Date").removeAttr("readonly");
});

答案 1 :(得分:1)

使用以下内容:

 Html.TextBoxFor(m => m.Whatever, new {id = "", @class="", 
      placeholder="" @readonly="readonly"}) 

希望这会有所帮助:)

答案 2 :(得分:0)

我认为你应该把

@readonly = true

@readonly = *your-expression-here*