我是全新的万物.NET。 我有一个HTML表单一个非常基本的网页。 我想“的onsubmit”从视图到控制器发送表单数据。 我已经看到了类似的帖子这个,但没有涉及到有新十岁上下的剃刀语法的答案。 我该怎么做“的onsubmit”,以及如何从控制器访问数据? 谢谢!!
Answer 1:
你可以用你想在Html.Beginform通过您的视图控件。
例如:
@using (Html.BeginForm("ActionMethodName","ControllerName"))
{
... your input, labels, textboxes and other html controls go here
<input class="button" id="submit" type="submit" value="Submit" />
}
当提交按钮被按下身边的一切Beginform内将提交给“ControllerName”控制你的“ActionMethodName”的方法。
控制器端,你可以从这样的观点访问所有接收到的数据:
public ActionResult ActionMethodName(FormCollection collection)
{
string userName = collection.Get("username-input");
}
上述集合对象将包含我们从表单提交所有的输入项。 您可以按名称访问它们,就像你访问任何数组:集合[“嗒嗒”]或collection.Get(“嗒嗒”)
您也可以传递参数给你的控制器的情况下直接使用的FormCollection发送整个页面:
@using (Html.BeginForm("ActionMethodName","ControllerName",new {id = param1, name = param2}))
{
... your input, labels, textboxes and other html controls go here
<input class="button" id="submit" type="submit" value="Submit" />
}
public ActionResult ActionMethodName(string id,string name)
{
string myId = id;
string myName = name;
}
或者,你可以结合这两种方法,并通过与一起的FormCollection具体参数。 由你决定。
希望能帮助到你。
编辑:当我在写其他用户提到你一些有用的链接,以及。 看一看。
Answer 2:
以下列方式定义的形式:
@using (Html.BeginForm("ControllerMethod", "ControllerName", FormMethod.Post))
将为方法“ControllerMethod”控制器“ControllerName”的呼叫。 在该方法中,你可以接受的模式,或输入其它数据类型。 请参见本教程采用的形式和剃刀MVC例子。
文章来源: ASP.NET MVC 3 Razor: Passing Data from View to Controller