MVC 3 html.TextBox для свойств, доступных только для чтения, которые устанавливаются динамически - PullRequest
4 голосов
/ 23 июня 2011
    <div class="editor-label" style="position:static">
        <%: Html.LabelFor(Model => Model.Date, "Date")%>
        <span style="padding-left:52px">
            <%: Html.TextBoxFor(Model => Model.Date)%>

Здесь я хочу установить свойство readonly для текстового поля при нажатии кнопки / Action Click.как мне это сделать.На начальной странице данные отображаются только для чтения, и при нажатии кнопки редактирования.Это должно быть изменено на редактируемое текстовое поле. У меня есть почти семь текстовых полей, мне нужно сделать то же самое для всех.

Ответы [ 3 ]

10 голосов
/ 23 июня 2011

Если я правильно понимаю ваш вопрос, это можно сделать с помощью небольшого JavaScript. Вот простой пример.

Отображать каждое текстовое поле только для чтения при загрузке страницы:

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

Добавьте обработчик нажатия для кнопки редактирования, который удалит атрибут readonly из каждого текстового поля:

$("#editButton").click(function() {
    $("#Date").removeAttr("readonly");
});
1 голос
/ 15 августа 2014

Используйте следующее:

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

Надеюсь, это поможет:)

0 голосов
/ 30 августа 2012

Я думаю, вы должны поставить

@readonly = true

или

@readonly = *your-expression-here*
...