Название может сбивать с толку, поэтому вот моя проблема: я бы хотел, чтобы в моем представлении было текстовое поле только для чтения, только если мое действие предназначено для редактирования (что-то вроде EditLocation), и если мое действие предназначено для добавления новой записи (AddLocation), я хотел бы редактируемое текстовое поле.
Мой фф. код работает, но мне было интересно, есть ли "более чистое" решение
@using (Html.BeginForm(Model.Location.Id == 0 ? "AddLocation" : "EditLocation", "Location"))
{
<fieldset>
@Html.HiddenFor(x => x.Location.Id)
@Html.HiddenFor(x => x.Location.CompanyGroupId)
@Html.HiddenFor(x => x.CompanyGroup.Id)
@Html.HiddenFor(x => x.CompanyGroup.Code)
<div class="form-group">
<strong><span>@ResourcesCommon.Location_Code</span></strong>
@if (Model.Location.Id == 0)
{
@Html.TextBoxFor(x => x.Location.Code, new { @class = "form-control" })
@Html.ValidationMessageFor(x => x.Location.Code)
}
else
{
@Html.TextBoxFor(x => x.Location.Code, new { @class = "form-control", @readonly = "readonly" })
@Html.ValidationMessageFor(x => x.Location.Code)
}
</div> ...
Спасибо и удачной недели впереди!
HtmlHelper
(см. этот ответ в качестве примера), но на самом деле вы должны использовать 2 представления (и использовать частичные для общего HTML) - person   schedule 22.02.2016