Frage

Ich bin Rendering eine Viewusercontrol (ASCX-Datei) in einer Ansicht aus:

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

Dieses Viewusercontrol zeigt zugehörige Kommentare zu einem Eintrag. Ich würde diese Kontrolle gerne auch ein Formular rendern, so dass die Nutzer meiner Anwendung beitragen können.

Wie würden Sie ein Formular zu einem Viewusercontrol hinzufügen und behandeln es ist Postbacks?

War es hilfreich?

Lösung

Fügen Sie einfach das Formular in der es die gleichen wie auf jeder Seite. In MVC, wird das Formular nicht als solche Postback - es einfach unterwirft sich und ihr Inhalt (Eingabesteuerungen) über HTTP Post an eine URL

.

Sie einfach eine Aktion in Ihrem Controller erstellen (und damit eine URL), die die Form schreiben wird und tun, was Tätigkeit dort erforderlich ist ...

Andere Tipps

Es gibt keine postaback, wie in Standard asp.net, es Tag ist nur Form, die Beiträge zu einem gewissen URL-Daten sein kann (controller / action).
In Ihrer Teilbenutzersteuerung, schreiben Sie:

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

In MVC, nur input type = "submit" Trigger einreichen bilden. In Standard ASP.NET Webforms, können Sie viele Linkbuttons, Buttons, ... aber unter dem Deckmantel, sie alle löst diesen einfachen Klick auf input type = "submit" durch JavaScript-Event. Eine Form kann Daten schreiben nur auf einer URL (controller / action), aber das kann mit Javascript geändert werden (wie wir in HTML-Quellcode von ‚alt‘ asp.net Webformulare sehen).

Sie dann im Controller können Sie Post-Daten verarbeiten:

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

Wie andere bereits beantwortet haben, können Sie einfach ein Formular übertragen und verarbeiten es mit einer Action vorzulegen ist.

Zum Beispiel, wenn Ihre Form (die in Ihrer Website überall gemacht werden kann) wurde Unterwerfung unter http: //www.yoururl.com/home/save , würden Sie eine Action Methode erstellen speichert auf den Home-Controller mit dem Namen zu handhaben die (wahrscheinlich Post / get-Methode) vor.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top