J'utilise les onglets de l'interface utilisateur jQuery dans une application Web ASP.NET MVC 2. Une partie de l'application nécessite que je vérifie les erreurs lorsque je m'éloigne de l'onglet. Je fais cela via ce script dans le fichier aspx qui contient les onglets.Meilleure façon de créer des onglets jQuery
<script type="text/javascript">
$(function() {
$("#tabs").tabs({
cache: true,
select: function (event, ui) {
var $tabs = $('#tabs').tabs();
switch ($tabs.tabs('option', 'selected')) {
case 0:
$.post("User/Personal", $("#PersonalForm").serialize(), function (data, success) {
if (success) {
$("#PersonalForm").html(data);
}
});
break;
case 1:
$.post("User/Account", $("#AccountForm").serialize(), function (data, success) {
if (success) {
$("#AccountForm").html(data);
}
});
break;
default:
break;
}
return true;
},
ajaxOptions: {
error: function (xhr, status, index, anchor) {
$(anchor.hash).html("Couldn't load this tab. We will fix this as soon as possible.");
}
}
});
});
</script>
Il existe d'autres instructions de commutation (supprimées pour des raisons de concision). Fondamentalement, ce code permet la validation MVC sur les onglets via des annotations de données - fonctionne très bien. Dans tous les cas, je me demandais s'il était possible que ce code soit "généré" en fonction des onglets que j'ai dans mon document. (Si ce n'est pas le cas, je dois fondamentalement coder à la main l'instruction case dans l'instruction switch, ce qui semble une perte.)
En outre, en guise de remarque, j'utilise des contrôles ASP pour chaque onglet. détenir les différentes données (qui est également où les formes individuelles résident). Cela peut faire la différence pour la solution.
Est-ce que tout le contenu des onglets du même type, par exemple contenant un formulaire ('PersonalForm',' AccountForm') etc., et 'action' de cette forme pointe vers où' $ .post() 'devrait être envoyé pour la validation? –
@Simen - Chaque onglet contient l'un des formulaires et la collection d'onglets représente un utilisateur entier. (Vous sélectionnez un utilisateur sur une page précédente et vous obtenez une série d'onglets vous permettant d'entrer un utilisateur.) Lorsque j'envoie les formulaires individuels, cela correspond à une méthode dans la classe contrôleur (il y a une méthode par formulaire dans l'onglet). Est-ce que cela clarifie les choses? – JasCav
Un peu - voir ma réponse et si oui ou non il résout votre problème :) –