Lors du rendu de la page d'affichage, en fonction de certaines conditions dans l'action du contrôleur, je veux désactiver tous les contrôles (zone de texte, case à cocher, bouton etc) présents dans le formulaire dans une page de vue MVC. Y'a-t'il un quelconque moyen d'y arriver? S'il vous plaît aider.Désactiver tous les contrôles (zone de texte, case à cocher, bouton etc) dans une vue (ASP.NET MVC)
Désactiver tous les contrôles (zone de texte, case à cocher, bouton etc) dans une vue (ASP.NET MVC)
Répondre
Vous pouvez passer un indicateur à la vue pour indiquer qu'il doit désactiver tous les contrôles.
voici un exemple:
public ActionResult MyAction() {
ViewData["disablecontrols"] = false;
if (condition)
{
ViewData["disablecontrols"] = true;
}
return View();
}
Dans la vue (en utilisant jQuery):
<script type="text/javascript">
$(document).ready(function() {
var disabled = <%=ViewData["disablecontrols"].ToString()%>;
if (disabled) {
$('input,select').attr('disabled',disabled);
}
})
</script>
Je ne pense pas que vous pouvez faire cela à partir du contrôleur, puisque la vue est retournée après que toute l'autre logique est terminée. Vous pourriez probablement faire quelque chose, cependant, avec les bibliothèques AJAX inclus avec ASP.NET MVC.
Cela dépend vraiment de la façon dont vos contrôles sont rendus. Nous faisons quelque chose de similaire dans la pratique, sauf que nous mettons les contrôles en lecture seule. Cela nous permet de réutiliser les vues show (lecture seule) et d'édition.
La façon dont je recommande personnellement de le faire est d'avoir un indicateur en lecture seule qui est défini dans la vue en utilisant une valeur dans ViewData. À partir de là, écrivez quelques méthodes auxiliaires pour faire la distinction entre le balisage désactivé et le balisage non désactivé. Vous pouvez créer ce balisage vous-même ou envelopper les méthodes HtmlHelper existantes fournies par 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 façon dont nous le faisons est d'utiliser le Page_Load(), comme vous le feriez dans WebForms, pour désactiver les contrôles serveur. Nous avons construit des contrôles serveur personnalisés pour gérer nos champs de formulaire. C'était dans l'enfance ASP.NET MVC, et je ne recommanderais pas de le faire, mais c'est une alternative.
- 1. ASP.NET MVC - Attribut de texte Case à cocher
- 2. Liaison d'une zone de texte statique à une case à cocher
- 3. Désactiver certains contrôles de validation ASP.Net lorsqu'une case est cochée
- 4. Comment désactiver la case à cocher de la case à cocher dans DataGridView - Windows Forms?
- 5. Case à cocher d'image de case à cocher dans UITableViewCell
- 6. itération de case à cocher JQuery dans ASP.Net C#
- 7. ASP.NET MVC - Comment obtenir des valeurs de case à cocher sur le poste
- 8. texte d'entrée, mot de passe d'entrée, radiobutton, case à cocher, textarea etc dans java
- 9. asp.net treeview case à cocher sélection
- 10. contrôles dynamiques dans une vue fortement typées (ASP.NET MVC)
- 11. Plusieurs contrôles dans la vue MVC qui modifient la même valeur de modèle
- 12. Comment afficher une zone de texte, un bouton, etc. dans une applet Java?
- 13. JQuery case à cocher itération dans ASP.Net C#
- 14. asp.net gridview case à cocher sélection
- 15. désactiver toutes les cases à cocher
- 16. comment obtenir le statut de case à cocher dans la vue MVC en utilisant jquery
- 17. Ajout dynamique de case à cocher à DataGrid dans Asp.Net
- 18. Comment lier une zone de texte à un paramètre Model dans une vue fortement typée dans Asp.Net MVC?
- 19. Comment vérifier si une case à cocher est cochée dans ASP.NET MVC?
- 20. Désactiver tous les contrôles Validator sur une page
- 21. case à cocher dans UltraGrid
- 22. Comment copier une entrée d'une zone de texte à une autre via la case à cocher en utilisant jQuery?
- 23. Existe-t-il un moyen élégant de comparer une case à cocher et une zone de texte à l'aide de validateurs ASP.NET?
- 24. Utilisation de la case à cocher/bouton radio/barre de progression dans les modules Flex 3
- 25. case à cocher valeur dans jquery
- 26. mêmes valeurs Soumet formulaire de case à cocher sur une action subséquente dans MVC soumettre
- 27. Modification de l'état de la case à cocher dans une colonne de case à cocher en fonction d'une condition
- 28. Case à cocher de sélection avec déclencheurs?
- 29. Struts case à cocher
- 30. Comment mot de passe pour protéger une case à cocher?
.............. jQuery rockz! –
Cela a fonctionné pour moi ... Merci – Ravi
Awesome Cheers - fonctionne très bien pour moi merci! – wubblyjuggly