我正在视图中渲染 ViewUserControl (.ascx 文件):

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

此 ViewUserControl 显示条目上的关联注释。我希望这个控件也能呈现出一个表单,以便我的应用程序的用户可以做出贡献。

如何将表单添加到 ViewUserControl 并处理它的回发?

有帮助吗?

解决方案

就在那里同添加的形式,就像任何页面上。在MVC中,形式不回发这样 - 它只是提交本身和通过HTTP POST其内容(输入控制),以一个URL

只要建立在你的控制器动作(因此一个URL)的形式将发布并做相应的活动需要有...

其他提示

没有回发,就像在标准 asp.net 中一样,只能有将数据发布到某个 url(控制器/操作)的表单标记。
在部分用户控件中,写入:

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

在MVC中,只有输入 type="submit" 才会触发表单提交。在标准 ASP.NET Web 表单中,您可以有许多链接按钮、按钮……但在幕后,它们都会通过 javascript 事件触发输入类型=“提交”的简单点击。一种表单只能将数据发布到一个 URL(控制器/操作),但可以使用 javascript 进行更改(正如我们在“旧”asp.net Web 表单的 html 源代码中看到的那样)。

然后,在控制器中您可以处理发布数据:

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

与其他人一样已经回答了,你只需渲染形式和处理它与一个ActionResult提交。

例如,如果您的形式(其可以在任何地方在网站被输出)被提交到 HTTP: //www.yoururl.com/home/save ,你会创建一个名为保存家庭控制器上一个ActionResult方法来处理提交(可能是后期/ get方法)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top