Radiobutton选择的值不传递给控制器

时间:2015-05-06 04:48:48

标签: c# jquery asp.net asp.net-mvc

我有两个带有mvc视图的单选按钮。当我执行表单提交时,Checkboxes值不会传递给控制器​​。

我有一个这样的表单提交,

@using(Html.BeginForm("Index","Employee",FormMethod.Get))
{
    <b>Search by :</b>@Html.RadioButton("Searchby", "EmpName",true)<text>Name</text>
    @Html.RadioButton("Searchby", "IsPermanant")<text>Id</text><br />
    @Html.TextBox("Search");
   <input type="submit" value="Search" />
}

我有一个控制器

public ActionResult Index(string Search, bool Searchby)//In here searchby is null
{

}

2 个答案:

答案 0 :(得分:2)

您创建的单选按钮组将回发值"EmpName""IsPermanant",但您尝试将其绑定到boolean属性。

将参数bool Searchby更改为string Searchby或更改单选按钮以返回truefalse

答案 1 :(得分:1)

您可能需要使用FormMethod.Post代替FormMethod.Get

@using(Html.BeginForm("Index","Employee",FormMethod.Post))
{
    <b>Search by :</b>@Html.RadioButton("Searchby", "EmpName",true)<text>Name</text>
    @Html.RadioButton("Searchby", "IsPermanant")<text>Id</text><br />
    @Html.TextBox("Search");
   <input type="submit" value="Search" />
}

方法RadioButton的第二个参数是您要传递给控制器​​的值。在您的示例中,您将EmpName或IsPermanant作为字符串传递,但您的控制器期望布尔值。将控制器更改为接受字符串将允许您传递单选按钮的值。

public ActionResult Index(string Search, string Searchby)
{

}