У меня отключено поле ввода, отображающее данные из модели.

<div class="form-group">
                    @Html.LabelFor(model => model.first_name, "Förnamn", new
            {
                @for = "inputFirstname",
                @class = "col-lg-3 control-label"
            })
                    <div class="col-lg-9">
                        @Html.TextBoxFor(model => model.first_name, new
                {
                    @type = "text",
                    @class = "form-control",
                    @id = "inputFirstname",
                    text = Html.DisplayNameFor(model => model.first_name),
                    disabled="disabled"
                })
                    </div>
                </div>

Я могу отправить эти данные в метод контроллера:

[ HttpPost ]

public ActionResult Index(RegistrationModel RegistrationModelViewModel)
{}

Когда я добавляю disabled="disabled" данные first_name равны нулю, если я удалю их, я получаю правильные данные.

Что я делаю не так?

1
Lord Vermillion 27 Окт 2015 в 15:29

2 ответа

Лучший ответ

Вы можете использовать свойство readonly , если хотите также отображать данные:

@Html.TextBoxFor(model => model.first_name, new
    {
        @readonly = "readonly"
    })
3
Perttu Haliseva 27 Окт 2015 в 12:35

Вам необходимо добавить <input type="hidden" name="whateverName" /> на страницу, которая соответствует отключенному полю. По умолчанию он не отправляется на сервер.

2
Eric Hotinger 27 Окт 2015 в 12:32