如何在按钮单击时将数据从视图发送到控制器

时间:2013-06-21 13:31:29

标签: c# asp.net-mvc asp.net-mvc-4 razor razor-2

如何调用控制器操作并在单击按钮时及时发送在下拉列表中选择的值?以下是我的.cshtml的示例。这只是一个例子,通常我需要在点击按钮时及时从当前视图中收集大量数据。

<body>
    <div>
        @Html.DropDownList("Name")
        <br />
        @Html.DropDownList("Age")
        <br />
        @Html.DropDownList("Gender")
        <br />
        @using (Html.BeginForm("FindPerson", "MyController", FormMethod.Post))
        {
            <input type="submit" value="Find" />
        }
    </div>
</body>

4 个答案:

答案 0 :(得分:2)

为了将数据提交给控制器,输入必须出现在<form>标记内。

例如:

<body>
    <div>
        @using (Html.BeginForm("FindPerson", "MyController", FormMethod.Post))
        {

            @Html.DropDownList("Name")
            <br />
            @Html.DropDownList("Age")
            <br />
            @Html.DropDownList("Gender")
            <br />
            <input type="submit" value="Find" />
        }
    </div>
</body>

答案 1 :(得分:2)

在@using(Html.BeginForm(“FindPerson”,“MyController”,FormMethod.Post))里面你应该把你的输入。

您的输入在表单

之外
@using (Html.BeginForm("FindPerson", "MyController", FormMethod.Post))
    {
    @Html.DropDownList("Name")
    <br />
    @Html.DropDownList("Age")
    <br />
    @Html.DropDownList("Gender")
    <br />

        <input type="submit" value="Find" />
}

答案 2 :(得分:1)

首先,你需要模型来绑定你的数据。

 public class TestModel
    {
        public string Age { get; set; }
        public string Gender { get; set; } 
        ...
    }

然后你需要将dropLists包装在表单标签

<form method='post'>
 @Html.DropDownList("Age")
</form>

以及重新发布过帐数据的行动

 [HttpPost]
        public ActionResult YourAction(TestModel model)//selected data here
        {

        }

答案 3 :(得分:0)

在@using(Html.BeginForm(“NameOfActionMethod”,“ControllerName”,FormMethod.Post)中)你应该把你的输入。

您的输入在表单

之外
 @using (Html.BeginForm("NameOfActionMethod", "ControllerName", FormMethod.Post))
{
   <input type="submit" value="Find" />
}