Dans MVC, la page ne reçoit pas la publication comme dans ASP.NET, alors comment pouvons-nous effectuer des opérations de publication dans ASP.NET MVC2. pour ex Comment effectuer une action particulière lorsque quelqu'un choisit une boîte chech? Merci d'avance p>
3 Réponses :
Le mécanisme derrière le modèle de post-planche dans Webforms est appelé Publier HTTP. C'est ainsi que l'entrée utilisateur est communiquée au serveur. P>
Vous pouvez le faire manuellement. Joignez un gestionnaire JavaScript manuellement à la case "OnClick" événement et effectuez une demande postale à une URL. Là-bas, cette demande frappera une action du contrôleur où vous faites ce que vous voulez. Par exemple, mettez à jour le modèle (cocher / décochez la case) et renvoyez la même vue à partir de laquelle la poste est originée. La vue montrera maintenant l'état différent de la case à cocher. P>
Les mécanismes WebForms font à peu près la même chose, bien que ces choses soient abstraitées de votre part. Avec ASP.NET MVC, vous devrez apprendre à le faire par vous-même (ce qui est toujours une bonne chose). P>
J'ai essayé d'envelopper chaque ligne avec html.beginform code>, puis a créé une case à cocher qui fait un post-plan. Mais lorsque l'action est atteinte, je reçois un modèle nouvellement créé et que les valeurs d'origine sont toutes perdues.
Votre méthode d'action MVC sur votre contrôleur est un peu votre gestionnaire de publication.
Commencez par un exemple plus simple; Un simple poste de formulaire HTML: p> présent dans votre action de contrôleurs, vous pouvez obtenir les valeurs affichées et effectuer vos tâches. Une fois terminé, donnez le navigateur ce dont il a besoin: p> comme pour une case à cocher, c'est différent. Vous devez apprendre JavaScript (JQuery est la bibliothèque la plus utilisée à utiliser avec cela) et postez l'action en utilisant cela. Par exemple, vous pouvez faire un câblage à la case à cocher 'onclick ()' événement et effectuer un xhr - une opération JavaScript spécifique au navigateur, POST (vous pouvez utiliser jQuery pour cela aussi) sur votre contrôleur. P> Vous devez donc commencer à réfléchir différemment des abstractions WebFormes et d'obtenir Impliqué avec HTML, HTTP et JavaScript. P> P>
Vous pouvez mettre cela dans une page de rasoir MVC:
if (Request.HttpMethod=="POST") { }
Je suggérerais de lire et de comprendre le motif MVC ( EN.WIKIPEDIA.ORG/WIKI/MODEL%E2%80%93VIEW%E2%80%93CONTROLLER ) et comment il est appliqué dans la mise en œuvre ASP.NET MVC ( ASP.NET/MVC ).
Pourquoi, oh pourquoi, est-ce que c'était voté? Pour quelqu'un de nouveau à MVC qui a passé tout leur temps sur Webforms, c'est une question assez valable à poser. Et si oui est l'endroit qui a la réponse à la question, alors c'est un bonus! =)