我是MVC的新手,尝试过某种东西并陷入其间。
我有一个用户控件,我有三个文本框html类型(ID,姓氏,名字)和提交按钮。
我按下按钮
<input type="button" value="Search"
onclick="location.href='<%= Url.Action("action", "controller") %>'" />
我通过
在某个视图上调用了此usercontrol<%= Html.Partial("ucName") %>
现在按下那个按钮(在用户控件上)我需要将这些文本框中的数据再次传递给控制器一些特定的动作(Http Post动作)。通过使用这些数据,我想做一些数据库交互并将结果存储在数据集中,并将该数据集再次传递到同一视图,以显示在某些网格中。
我知道传统Asp.net的第一部分可以通过委托提升事件来完成,但不知道如何在MVC中做到这一点。
答案 0 :(得分:0)
在你的行动中你应该有;
public ActionResult(MyModel model)
{
//now do something with model
}
取消按钮并使用提交按钮,然后使用BeginForm,以便它将提交给相同的操作和控制器。
MyModel应该包含三个字段,你的模型也应该从MyModel继承,以便MVC知道从哪里获取数据。
你有没有看过NerdDinner样本,因为听起来你没有。首先,您需要了解MVC模型和查看工作的方式。
答案 1 :(得分:0)
您不能简单地使用submit
按钮将数据发布到所需的控制器操作:
<% using (Html.BeginForm("action", "controller", FormMethod.Post)) { %>
<!-- ... your textboxes here ... -->
<input type="submit" value="Search" />
<% } %>
如果您希望在网址中传递参数,也可以使用FormMethod.Get
。