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

4 回答 4

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>
于 2013-06-21T13:33:53.200 回答
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" />
}
于 2013-06-21T13:36:40.817 回答
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
        {

        }
于 2013-06-21T13:38:01.033 回答
0

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

您在表单之外有输入

 @using (Html.BeginForm("NameOfActionMethod", "ControllerName", FormMethod.Post))
{
   <input type="submit" value="Find" />
}
于 2014-07-02T11:56:15.527 回答