在提交点击时从asp.net mvc文本框获取价值

如何在asp.net mvc中检索文本框的值以将值存储到某个变量?

我在索引视图页面上有一个像这样的的文本框。

我有一个这样的按钮

我正在使用打开新的mvc应用程序时出现的默认视图页面。

谢谢。

在你的控制器;

 [AcceptVerbs(HttpVerbs.Post)] public ActionResult Search(FormCollection collection) { String g = collection["textFieldname"] } 

或者你可以使用;

 TryUpdateModel(modelName); 

以上是首选解决方案。 如果您需要有关TryUpdateModel的更多信息,请发表评论,我会为您充实。

编辑:

而不是解释它让我只是告诉你;

在你的控制器中:

 public class MyFormViewModel { public string myInput {get; set;} } public ActionResult Search() { MyFormViewModel fvm = new MyFormViewModel(); return View(fvm); } [AcceptVerbs(HttpVerbs.Post)] public ActionResult Search(FormCollection collection) { MyFormViewModel fvm = new MyFormViewModel(); TryUpdateModel(fvm); string userInput = fvm.myInput; } 

然后在你看来;

 <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %> <%= Html.TextBox("myInput", Model.myInput) %> 

注意两件事。

该页面inheritance自控制器中定义的模型/类。 不是最好的地方,但作为一个例子,它会做。

另一件事是文本框的名称与模型中的属性相同。 在这种情况下myInput。

当控制器执行UpdateModel时,它会反映出事物,并将文本框名称与表单视图模型中字段的名称相匹配。

合理?

编辑2

另外别忘了把按钮和你的场地包在一起;

 <% using (Html.BeginForm()) {%>