Question

Je suis rendu un ViewUserControl (fichier .ascx) dans une vue:

<% Html.RenderPartial("Comments", Model.Comments); %>

Cette ViewUserControl montre les commentaires associés à une entrée. Je voudrais que ce contrôle pour rendre une forme aussi bien, afin que les utilisateurs de mon application peuvent contribuer.

Comment voulez-vous ajouter un formulaire à un ViewUserControl et le manipuler est postback?

Était-ce utile?

La solution

Il suffit d'ajouter la forme là même que vous le feriez sur une page. Dans MVC, le formulaire ne Postback pas en tant que telle - elle se soumet simplement et son contenu (contrôle d'entrée) par HTTP Post à une URL

.

Il suffit de créer une action dans votre contrôleur (et par conséquent une URL) qui forme affichera et faire toute activité y est nécessaire ...

Autres conseils

Il n'y a pas postaback, comme dans asp.net standard, il ne peut y avoir qu'une balise de formulaire que les messages de données à une URL (contrôleur / action).
A l'intérieur de votre contrôle utilisateur partiel, écrire:

<form action="controller/actionname" method="post">
<input type="text" name="inputText" />
<input type="submit" value="Post data to server" />
</form>

Dans MVC, seul input type = "Soumettre" déclencheurs Envoi de formulaire. Dans WebForms ASP.NET standard, vous pouvez avoir beaucoup linkbuttons, boutons, ... mais sous le couvert, ils ont tous déclenche ce simple clic sur input type = « soumettre » par javascript événement. Un formulaire peut publier des données sur une seule URL (contrôleur / action), mais qui peut être changé avec le javascript (comme on peut le voir dans la source html de ASP.net « vieux ») webforms.

puis, dans le contrôleur vous pouvez gérer les données post:

[AcceptVerb(HttpVerb.Post)] // optionally 
public ActionResult ActionName(string inputText) ...

Comme d'autres l'ont déjà répondu, vous rendez simplement une forme et le manipuler est présente avec un ActionResult.

Par exemple, si votre formulaire (ce qui pourrait être rendu partout dans votre site) soumet à http: //www.yoururl.com/home/save , vous devez créer une méthode ActionResult nommée sauvegarde sur le contrôleur de la maison pour gérer la soumettre (post probable / méthode get).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top