Pergunta

Estou prestando um ViewUserControl (arquivo .ascx) em uma visão:

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

mostras Este ViewUserControl associado comentários sobre uma entrada. Gostaria que este controle para processar um formulário, bem como, para que os usuários do meu aplicativo pode contribuir.

Como você adicionar um formulário a um ViewUserControl e manipulá-lo de postback?

Foi útil?

Solução

Basta adicionar o formulário lá o mesmo que você faria em qualquer página. No MVC, o formulário não postback como tal - ele simplesmente se submete e seu conteúdo (controles de entrada) via HTTP Post para uma URL

.

Basta criar uma ação em seu controlador (e, portanto, uma URL) que o formulário irá postar e fazer qualquer atividade é necessária lá ...

Outras dicas

Não há postaback, como em asp.net padrão, só pode haver formar tag que envia dados para alguns url (controle / ação).
Dentro de seu controle de usuário parcial, escreve:

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

No MVC, única input type = "submit" gatilhos formar enviar. Em webforms ASP.NET padrão, você pode ter muitos LinkButtons, botões, ... mas sob a tampa, que todos os gatilhos este simples clique no input type = "submit" através de eventos javascript. Uma forma pode postar dados para apenas um URL (controle / ação), mas que pode ser alterado com javascript (como podemos ver na fonte html de 'velho' asp.net webforms).

então, no controlador, é possível manipular os dados POST:

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

Como outros já respondida, você simplesmente tornar um formulário e lidar com isso é enviar com um ActionResult.

Por exemplo, se seu formulário (que pode ser processado em qualquer lugar no seu site) foi submeter-se a http: //www.yoururl.com/home/save , você criaria um método ActionResult chamado save no controlador de casa para lidar com a enviar (pós provável / método GET).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top