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

sam*_*esh 4 html.textbox asp.net-mvc-3

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

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

gra*_*ram 10

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

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

<%: Html.TextBoxFor(model => model.Date, new { @readonly = "readonly" }) %>
Run Code Online (Sandbox Code Playgroud)

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

$("#editButton").click(function() {
    $("#Date").removeAttr("readonly");
});
Run Code Online (Sandbox Code Playgroud)

  • 将您的javascript调用更改为:$("#datebox").attr('readonly','readonly'); 此外,在您的日期文本框中,您不需要使用@id,它可以只是id.保持@class原样.'@'用于将C#保留字用作变量名. (2认同)