如何将Html.TextBox传递给控制器​​?

时间:2010-01-14 16:34:16

标签: controller html.textbox

可能就这么简单。但是,我很难搞清楚它。

我有一个控制器,它有不同的动作来调用DB代码并返回结果。我想将文本框的值传递给控制器​​中的不同操作。

怎么做?我知道,我可以通过使用表单传递值。但是,我不知道如何从单一视图中调用控制器中的不同动作。

3 个答案:

答案 0 :(得分:0)

我不确定您使用的是哪种语言或框架,但是在ASP.NET MVC输入控件ID中映射到操作参数,所以如果您有一个文本框:

<input type="text" name="firstName" id="firstName/>

然后,当该表单发布到您的操作时,框架通过将其与action参数匹配来从POST数据传递文本框的值:

public ActionResult UpdateUser(string firstName)
{
  User user = UserManager.UpdateUser(this.CurrentUserId, firstName);
  return View(user);
}

答案 1 :(得分:0)

遇到同样的问题并对其进行排序。 Html.TextBox中字符串参数的名称必须与它将要使用的控制器方法中的参数匹配,否则控制器中的参数最终为null。例如:

在视图中 -

<%= Html.TextBox("value") %> // argument is named "value"

控制器方法 -

[HttpPost]
public ActionResult ControllerName(string value) // parameter named the same as argument
{ //code here }

答案 2 :(得分:0)

我正在浏览并发现了这个问题。如果这些选项不起作用,也许你可以试试

Requst["value"] 
控制器中的