2009-08-25 9 views
1

J'ai un lien html que je veux faire apparaître une boîte de dialogue avec une liste de noms d'utilisateur et de cases à cocher. l'utilisateur peut alors sélectionner une ou plusieurs cases à cocher et cliquer sur OK et cette information sera transmise à l'interface graphique principale. est-ce possible en utilisant jquery ou devrais-je utiliser une autre technologie?jquery avec boîte de dialogue mvc asp.net

Répondre

3

Aucun jQuery n'est l'outil parfait pour cela. Tout ce que vous avez à faire est de retourner à votre ActionResult dans votre contrôleur, de renvoyer vos données [ou même une meilleure vue partielle] et de les afficher sur la page.

Si vous voulez un exemple de code, faites le moi savoir et j'en posterai.

Mais essentiellement que vous devez faire une $.post("/controller/action", {arg1:val1, arg2:val2}, function(retHtml){ code to show data });

Dans votre quelque chose comme contrôleur cela;

public ActionResult action(string arg1, string arg2) 
{ 
    //Do guff 
    return PartialView("MyPartialView", FormViewModel); 
} 

Si vous avez besoin d'explications, merci de nous le faire savoir dans un commentaire.

EDIT:

Le code que j'ai donné est en fait assez complet, mais nous allons étoffer un peu et de le rendre simple. Il existe de meilleures façons de le faire, mais c'est facile et lisible si vous êtes nouveau à jQuery.

Commençons par la vue;

Vous avez dit un bouton ainsi:

<input id="submitBtn" name="submitBtn" type="submit" onclick="postComment(<%=Model.Id %>); return false;" value="Submit" /> 

Ensuite, vous avez le code jQuery pour republier comme si;

function postComment(id) { 
     var commentText = jQuery.trim($("#textbox_ + id.toString()).val()); 
     $.post("/Articles/jQueryAddComment", { commentText: commentText, id: id, }, function(newCommentListHTML) { 
      AddCommentReturn(id, commentType, newCommentListHTML); 
     }); 
    } 

Ce que le code ci-dessus est en train de faire est saisissant simplement le texte de commentaire de dire un champ et l'affichage de retour à mon action de contrôleur de jQueryAddComment et en passant quelques variables.

Dans mon contrôleur j'ai maintenant;

public ActionResult jQueryAddComment(string commentText, int id) 
{ 
    //code here to add the new comment to the database. 

    //more code to get the new list of comments from the database and into a model 

    //code to return a partial view back to the view itself 
    return PartialView("CommentList", fvm); 

} 

Le rappel dans le code ci-dessus jQuery appelle une fonction normale Javascript pour prendre le code HTML retourné et l'afficher sur la page.

Dans votre cas, vous pourriez afficher une Div avec le code HTML et lui fournir des événements de clic pour que l'utilisateur puisse interagir avec lui.

Est-ce plus clair?

+0

exemple code serait génial car je suis assez nouveau dans ce monde – leora

Questions connexes