Domanda

Sto renderizzare un ViewUserControl (file ascx) in una vista:

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

Questa mostra ViewUserControl commenti associati a una voce. Vorrei che questo controllo per rendere un modulo e, in modo gli utenti della mia applicazione può contribuire.

Come si dovrebbe aggiungere un modulo a un ViewUserControl e gestire è postback?

È stato utile?

Soluzione

È sufficiente aggiungere il modulo in là lo stesso come si farebbe su qualsiasi pagina. In MVC, il modulo non postback come tale - è se stessa e il suo contenuto (controlli di input) via HTTP Pubblica su un URL sottopone semplicemente

.

È sufficiente creare un'azione nel controller (e quindi un URL), che la forma pubblicherà e fare tutto ciò che l'attività è richiesto lì ...

Altri suggerimenti

Non c'è postaback, come in asp.net serie, ci può essere solo tag forma che i messaggi dati a alcuni url (regolatore / azione).
Dentro il controllo utente parziale, scrivere:

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

In MVC, solo input type = "submit" trigger formano submit. In ASP.NET WebForms standard, è possibile avere molte linkbuttons, Bottoni, ... ma sotto la copertura, che tutti i trigger questa semplice click su input type = "submit" tramite JavaScript evento. Una forma può inviare dati a un solo URL (regolatore / azione), ma che può essere cambiata con javascript (come possiamo vedere nel sorgente html di 'vecchi' ASP.NET WebForms).

poi, nel controllo è possibile gestire i dati del messaggio:

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

Come altri hanno già risposto, è sufficiente rendere un form e gestire è presentare un ActionResult.

Ad esempio, se il modulo (che potrebbe essere reso in qualsiasi punto del sito) è stato presentato, a http: //www.yoururl.com/home/save , è necessario creare un metodo chiamato ActionResult Salva sul controller di casa di gestire il submit (probabilmente posta / metodo GET).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top