Asp.net mvc 将文本框值传递给操作

Asp.net mvc 将文本框值传递给操作,asp.net-mvc,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 4,加载页面后,用户将给textbox一个值。我想将该值作为我的操作的参数。我是MVC新手,不知道怎么做。我知道Html.Textbox名称应该和参数相同,但我对调用该操作时,参数将为空感到矛盾,所以我将接受参数丢失错误 这是我的html: @Html.TextBoxFor(x => x.EventID, new { id = "eventID" }) 这是我的行动: public ActionResult DownloadAttendeeExcel(int eventID)

加载页面后,用户将给textbox一个值。我想将该值作为我的操作的参数。我是MVC新手,不知道怎么做。我知道Html.Textbox名称应该和参数相同,但我对调用该操作时,参数将为空感到矛盾,所以我将接受参数丢失错误

这是我的html:

@Html.TextBoxFor(x => x.EventID, new { id = "eventID" })
这是我的行动:

public ActionResult DownloadAttendeeExcel(int eventID)
        {
           return View();
        }

对于帮助者,请将字段的值绑定到模型。所以如果你认为你有

@model ViewModel
在顶部,EventID是该模型的一部分,然后将控制器更改为

public ActionResult DownloadAttendeeExcel(ViewModel model)...
这将具有该文本框的值。作为一个id,您可能不希望用户更改它,因此在这种情况下,我会将该值放入一个隐藏的

@Html.HiddenFor(x => x.EventID)
因此,传递给视图的值将被传递回控制器