asp.net mvc - mvc - Cómo hacer que @ Html.EditorFor Disabled
html textboxfor disabled (5)
Otra alternativa: rodear el EditorFor con un div o un span con un ID determinado, y luego usar un poco de jquery / js:
<span id="editors">
@Html.EditorFor(x => x.ViewModelProperty)
</span>
<!-- Disable above editors. EditorFor doesn''t allow html attributes unfortunately. -->
<script type="text/javascript">
$(function () { $(''#editors :input'').attr("disabled", true); });
</script>
Tengo lo siguiente dentro de mi aplicación web mvc de asp.net: -
<div><span class="f">Data Center Name</span> @Html.EditorFor(model => model.Switch.TMSRack.DataCenter.Name, new { disabled = "disabled" })</div>
pero el campo no será deshabilitado, ¿puede alguien acceder, por favor? Gracias
Si pierde información cuando acepta los cambios de edición ... Puede probar
<h3>@Model.x</h3>
@Html.HiddenFor(model => model.x, new { htmlAttributes = new { @class = "form-control" } })
También puede usar EditorFor()
por ejemplo: - @Html.EditorFor(model => model.Nama, new { htmlAttributes = new { @class = "form-control", @disabled ="true" } })
Usando MVC 5, @Html.EditorFor()
soporta htmlAttributes
@Html.EditorFor(model => model.x, new { htmlAttributes = new { @class = "form-control", @disabled = "disabled" } })
El ejemplo anterior muestra cómo puede agregar una clase y también el atributo deshabilitado
@Html.EditorFor()
no tiene una sobrecarga para admitir htmlAttributes. Puedes probar @Html.TextBoxFor()
@Html.TextBoxFor(model => model.propertyName, new {disabled= "disabled" })
Si está utilizando palabras clave del sistema como class
en htmlAttributes, agregue @
antes del nombre del atributo.
Ex:
@Html.TextBoxFor(model => model.propertyName, new {@class = "disabledClass" })