Mientras renderizo la página de vista, en función de alguna condición en la acción del controlador, deseo desactivar todos los controles (cuadro de texto, casilla de verificación, botón etc.) presente en el formulario en una página de vista de MVC. ¿Hay alguna forma de hacer eso? Por favor ayuda.Desactivar todos los controles (cuadro de texto, casilla de verificación, botón, etc.) en una Vista (ASP.NET MVC)
Respuesta
puede pasar un indicador a la vista para indicar que debe deshabilitar todos los controles.
aquí es un ejemplo:
public ActionResult MyAction() {
ViewData["disablecontrols"] = false;
if (condition)
{
ViewData["disablecontrols"] = true;
}
return View();
}
En la vista (usando jQuery):
<script type="text/javascript">
$(document).ready(function() {
var disabled = <%=ViewData["disablecontrols"].ToString()%>;
if (disabled) {
$('input,select').attr('disabled',disabled);
}
})
</script>
No creo que pueda hacer eso desde el controlador, ya que la vista se devuelve después de que se haya completado toda la otra lógica. Sin embargo, probablemente puedas hacer algo con las bibliotecas AJAX incluidas con ASP.NET MVC.
Eso realmente depende de cómo están siendo generados sus controles. Hacemos algo similar en la práctica, excepto que establecemos controles solo de lectura. Esto es para permitirnos reutilizar show (solo lectura) y editar vistas.
La forma en que personalmente recomendaría hacerlo es tener un indicador de solo lectura que se establece en la vista utilizando un valor en ViewData.
A partir de ahí, escriba algunos métodos de ayuda para distinguir entre marcado deshabilitado y no deshabilitado. Puede construir este marcado usted mismo o ajustar los métodos HtmlHelper existentes que proporciona ASP.NET MVC.
// In your controller
ViewData["DisableControls"] = true;
<%-- In your view --%>
<% bool disabled = ViewData["DisableControls"] as bool; %>
...
<%= Html.TextBox("fieldname", value, disabled) %>
<%= Html.CheckBox("anotherone", value, disabled) %>
// In a helper class
public static string TextBox(this HtmlHelper Html, string fieldname, object value, bool disabled)
{
var attributes = new Dictionary<string, string>();
if (disabled)
attributes.Add("disabled", "disabled");
return Html.TextBox(fieldname, value, attributes);
}
La forma en que lo hacemos es utilizar el Load(), como lo haría en formularios Web, para desactivar los controles de servidor. Creamos algunos controles de servidor personalizados para manejar nuestros campos de formulario. Esto fue en la infancia de ASP.NET MVC, y no recomendaría hacer esto, pero es una alternativa.
- 1. ASP.NET - Hacer un cuadro de texto obligatorio SI se marca una casilla de verificación
- 2. asp.net mvc casilla inconsistencia
- 3. ¿Encontrar todos los controles en un panel de ASP.NET?
- 4. ¿Cómo desactivo todos los controles en la página ASP.NET?
- 5. Cambiar Html.DisplayFor casilla de verificación booleana MVC
- 6. Deshabilitar algunos controles de validación de ASP.Net cuando se marca una casilla de verificación
- 7. ASP.NET Controles de cuadrícula MVC
- 8. El valor de databound del cuadro de texto/casilla de verificación es incorrecto hasta que se valide el cuadro de texto/casilla de verificación
- 9. Cómo deshabilitar el cuadro de texto según la casilla marcada
- 10. ASP.NET MVC Múltiples casillas de verificación
- 11. ¿Cómo se valida una casilla de verificación en ASP.Net MVC 2?
- 12. ASP.Net MVC - Maneje múltiples casillas de verificación
- 13. Desactivar la verificación ortográfica en los campos de texto HTML
- 14. MVC 4, lista de casilla de verificación y yo
- 15. Casilla de verificación en control de vista de lista
- 16. cómo desactivar la casilla de verificación de formulario de primavera?
- 17. Controles Telerik en ASP.NET MVC
- 18. Cómo estilo de cuadro de texto usando CSS en ASP.NET
- 19. Combobox con casilla de verificación en winforms
- 20. casilla de verificación ASP.NET con jQuery
- 21. Cocoa: mejor manera de deshabilitar todos los controles en una vista
- 22. Deshabilitado Marque la casilla de verificación como desmarcada - ASP.NET
- 23. ¿Activar/desactivar el botón de enviar si la casilla de verificación está marcada/desmarcada?
- 24. Desactivar las sugerencias del cuadro de texto
- 25. Winforms Casilla de verificación Enfoque Problema si no se aplica texto en la casilla de verificación
- 26. Encapsulando controles de usuario en ASP.NET MVC
- 27. botón Jquery Asp.net desactivar
- 28. Marca de verificación en una casilla de verificación
- 29. ¿Cómo puedo implementar una casilla de verificación "Seleccionar todo" en mi aplicación ASP.NET MVC?
- 30. casilla de verificación - notificación de cambio
.............. jQuery rockz! –
Funcionó para mí ... Gracias – Ravi
Awesome Cheers - funciona genial para mí, gracias. – wubblyjuggly