bir form inşa ediyorum ait htmlAttributes tanımlamak için tekrarlayıcı satır içi conditionals önlemek yapmak ve bir readonly
html öznitelik eklemek için koşullu bir satır içinde kullanırken tutmak zorunda:nasıl Html.EditorFor()
@Html.LabelFor(model => model.EventDate)
<div class="row">
<div class="col-xs-3">
@Html.EditorFor(model => model.EventDate, new
{
htmlAttributes = Model.IsEditorReadOnly ?
(object)new { @class = "form-control input-lg", @type = "date", @readonly = "readonly" } :
(object)new { @class = "form-control input-lg", @type = "date" }
})
</div>
</div>
@Html.ValidationMessageFor(model => model.EventDate)
yapabilirsiniz' t @readonly
özelliğinin değeri için koşullu kullanın çünkü null değerine ayarlanmış olsa bile, istemciye readonly=""
olarak verilir ve bu, bir tarayıcı için bu alanı salt okunur yapmak için yeterlidir.
Bunu yapmak için her satır öğesinin satır içi koşulundan daha iyi bir yolu olması gerekir, yalnızca tek bir özellik eklemek için değil mi?
Sen HtmlHelper uzantısı yöntemini kendi oluşturabilir - söylemek '@ Html.ReadOnlyEditorFor (anlatım, htmlAttributes, IsReadOnly = true)' nitelik değerine bağlı olarak ilave edilir nerede '@Readonly' parametresi –
@StephenMuecke' @ readonly' özelliğini eklemek/kaldırmak için bu yardımcıdaki htmlAttributes nesnesini nasıl değiştirebilirim? – travis
Bir örnek için [bu yanıt] konusuna bakın (http://stackoverflow.com/questions/30127866/create-checkboxfor-mvc-helper-with-title-attribute-from-model-description/30135407#30135407) –