Pregunta

Estoy renderizar una ViewUserControl (archivo .ascx) en una vista:

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

Esta muestra ViewUserControl comentarios asociados en una entrada. Me gustaría que esta control para hacer que un formulario, así que los usuarios de mi solicitud pueden contribuir.

¿Cómo agregar un formulario a un ViewUserControl y el mango es la devolución de datos?

¿Fue útil?

Solución

Sólo tiene que añadir la forma en la que hay el mismo como lo haría en cualquier página. En MVC, el formulario no devolución de datos como tal - que simplemente se somete y su contenido (controles de entrada) a través de HTTP POST a una URL

.

Sólo tienes que crear una acción en el controlador (y por lo tanto una URL) que se va a publicar el formulario y hacer lo que se requiere la actividad allí ...

Otros consejos

No hay postaback, al igual que en asp.net norma, sólo puede haber etiqueta de forma que los mensajes de datos a algunos url (controlador / acción).
Dentro de su control de usuario parcial, escribir:

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

En MVC, sólo el input type = "submit" disparadores envío de formulario. En formularios web ASP.NET estándar, puede tener muchos Linkbuttons, botones, ... pero bajo cubierta, todos ellos desencadena este simple clic en input type = "submit" a través de eventos de JavaScript. Una forma puede publicar datos en una sola dirección URL (controlador / acción), pero que se pueden cambiar con javascript (como podemos ver en el código fuente HTML de 'viejos' formularios web ASP.NET).

A continuación, en el controlador que puede manejar datos de mensaje:

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

Al igual que otros han respondido ya, sólo tiene que representar un formulario y lo maneja es presentar con un ActionResult.

Por ejemplo, si su forma (que podría traducirse en cualquier lugar de su sitio) se somete a http: //www.yoururl.com/home/save , debe crear un método llamado ActionResult Guardar en el controlador casa para manejar el submit (probablemente del poste / del método get).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top