textboxfor mvc disabled asp.net-mvc html-helper

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" })