¿Cómo presento la entrada deshabilitada en ASP.NET MVC?¿Cómo presento entrada deshabilitada en ASP.NET MVC?
Respuesta
Gracias a todos:
la forma en que resolvió este:
document.getElementById("Costo").readOnly = true;
document.getElementById("Costo").style.color = "#c0c0c0";
Nota:
me dieron esta información en la respuesta pero me dio Editted.
Esto no funcionó para mí (lo descubrí gracias a ** [este enlace SO]) (http://stackoverflow.com/questions/833884/why-does-a-read-only-textbox-does-not -return-any-data-in-asp-net) **). Esto funcionó: '' 'textBox.Attributes.Add (" readonly "," readonly ");' '' y la explicación se encuentra en el enlace –
$ ("# textBoxId"). Prop ("readonly", true); –
Está bien que lo hayas editado ya que tiene más sentido para mí. – Yawar
Normalmente, si tengo un campo que es "de solo lectura" pero debe enviarse de nuevo al servidor, deshabilitaré la pantalla (o simplemente el texto), pero luego agregaré un campo oculto con el mismo nombre . Aún debe asegurarse de que el campo no se haya modificado realmente en el lado del servidor, simplemente no lo actualice desde el modelo en su acción, pero el estado del modelo seguirá siendo preciso si hay errores.
Sí, estaba pensando en hacer lo que estás ingiriendo. Pero tendría que manejar más variables. Estoy saltando que puede ser que mi publicación aparezca en google y la gente no tenga que sufrir, buscando una solución fácil. – Sanchitos
Un problema con su solución es que se rompe si javascript está deshabilitado. Inyectar el lado del servidor del campo oculto no tiene este problema. – tvanfosson
¿No puedes hacer el campo readonly="readonly"
en lugar de disabled="disabled"
? Se enviará un valor de campo de solo lectura al servidor y el usuario aún no podrá editarlo. Sin embargo, una etiqueta SELECT
es una excepción.
solo funciona, pero no agota el campo. Aquí hay un ejemplo que estoy usando: '<%: Html.TextBoxFor (model => model.p1, new {@readonly =" readonly "})%>' ¿cómo puedo ponerlo gris? Visualmente parece que no lo está editable. Mejor aún, ¿podemos usar algo similar a LabelFor, probé LabelFor pero solo obtiene el DisplayName ... – VoodooChild
4 años haciendo .NET asp y nunca supe que las entradas deshabilitadas no vuelven atrás ... ¿Cómo pasó eso? ¿yo? Solo incluya un campo Oculto para la selección deshabilitada y todo está ordenado. (Aunque los ID se repiten en el formulario que no está permitido) – ppumkin
esto no funciona para los cuadros '
@ppumkin mencionó esto en su comentario en this answer pero quería destacarlo ya que no pude encontrar otros recursos para enviar datos de un <select>
deshabilitado. También creo que es relevante para la pregunta, ya que las selecciones no son <input>
s, sino que son "entradas".
Solo incluya un campo oculto para la selección deshabilitada y su todo ordenado.
Ejemplo:
@Html.DropDownListFor(model => model.SelectedID, ... , new { disabled = "disabled"}) @* Won't be posted back *@
@Html.HiddenFor(model => model.SelectedID) @* Will be posted back *@
Precaución: Esto pondrá dos etiquetas en la página con el mismo ID, que no es realmente HTML válido y podría causar dolores de cabeza con javascript. Para mí, tengo javascript para establecer el valor del menú desplegable por html id
, y si coloca el campo oculto primero, el javascript lo encontrará en lugar del select
.
También puede utilizar un código como éste antes de que el formulario envía:
$(":disabled", $('#frmMain')).removeAttr("disabled");
Utilicé esto, no tiene que preocuparse por elementos ocultos, no estoy seguro de si hay alguna desventaja, excepto tal vez un ligero retraso en la devolución posterior debido a la función js – IronHide
Contra muchas de las respuestas que se mencionan sobre el uso de leer -simplemente deshabilitado. Creo que en muchos casos tenemos que usar deshabilitado, leí unas 15 respuestas en preguntas similares y elegí esto solo con el propio filtro jQuery para seleccionar los elementos apropiados para eliminar el atributo deshabilitado. Muchísimas gracias. – QMaster
Se puede crear un editor de plantillas como la de abajo
CSS
.disabled {
background-color:lightgray;
}
Editor de plantillas
@model string
@Html.TextBoxFor(x => x,new {@class="disabled", @readonly=true })
whe n estamos tratando con casillas de verificación desactivadas pero marcadas y queremos publicar el valor, debemos asegurarnos de que nuestro campo oculto aparezca antes del campo @ Html.CheckBoxFor oculto.
siguiente es el enlace desde donde encontré la respuesta. http://davecallan.com/posting-disabled-checkboxes-mvc-razor-views/#comment-11033
- 1. detectar cuando JavaScript está deshabilitada en ASP.NET
- 2. Validación de entrada de ASP.NET MVC
- 3. ¿Cómo presento un parámetro booleano en Rails?
- 4. selector de CSS para entrada deshabilitada type = "submit"
- 5. ASP.NET MVC Formulario de entrada de detalles del maestro
- 6. Temas Asp.Net MVC, ¿cómo?
- 7. asp.net entrada de mvc/validación de modelo multi idioma
- 8. ASP.NET MVC - ¿Cómo explicarlo?
- 9. Asp.Net Mvc Los parámetros de entrada JQuery ajax son nulos
- 10. ¿Cómo presento una entrada de "archivo" sin enviar el botón con JavaScript?
- 11. ¿Cómo presento un UIViewController haciendo zoom?
- 12. Cómo cambiar el color de la fuente de entrada deshabilitada en Firefox
- 13. ASP.NET MVC + Backbone.js, ¿tiene sentido esto? ¿ASP.NET MVC realmente necesario?
- 14. ASP.NET MVC en IIS6
- 15. Html.TextAreaFor en asp.net mvc
- 16. ASP.Net MVC formatSalida
- 17. formas anidadas en ASP.NET MVC
- 18. Personificación en ASP.NET MVC
- 19. Ajuste someter valor en jQuery presento
- 20. ASP.NET MVC versus Zeitgeist
- 21. ¿Cómo funciona realmente la validación en ASP.NET MVC 2?
- 22. LinkButton en ASP.NET MVC
- 23. ReturnUrl en ASP.NET MVC
- 24. HTML.Button en ASP.NET MVC
- 25. ASP.NET MVC en Mono
- 26. IronPython en ASP.NET MVC
- 27. Asp.net MVC Etiqueta Para
- 28. ASP.NET MVC Globalización de vistas
- 29. Realizar la búsqueda en Asp.net MVC
- 30. ASP.NET MVC - ¿Cómo redireccionar seguro?
En general, debe formular su pregunta como una pregunta y luego publicar la respuesta por separado. Votación para cerrar; Le recomendamos que mueva la parte 'respuesta' a una respuesta real. –
Creo que la publicación de @Dhaval es exactamente la respuesta debido a la palabra deshabilitada en su pregunta. – QMaster