ASP.NET MVC 3剃须刀:传递数据从景观到控制器(ASP.NET MVC 3 Razor:

2019-06-25 09:14发布

我是全新的万物.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