C# 无法检查控制器中的单选按钮选择值
我有4个单选按钮,在视图中,我是从下面这样的模型绑定这些C# 无法检查控制器中的单选按钮选择值,c#,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,C#,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,我有4个单选按钮,在视图中,我是从下面这样的模型绑定这些 @model MVC.Models.DeleteModel @using (@Html.BeginForm("Submit", "Delete")) { <div class=".editor-field"> @Html.Label("Delete"); </div> <div class =".editor-field"> @Html.RadioButtonF
@model MVC.Models.DeleteModel
@using (@Html.BeginForm("Submit", "Delete"))
{
<div class=".editor-field">
@Html.Label("Delete");
</div>
<div class =".editor-field">
@Html.RadioButtonFor(m=>m.IsDeleteByItemChecked,"By Item")
@Html.Label("By Item")
</div>
<div class =".editor-field">
@Html.RadioButtonFor(m=>m.IsDeleteByVendorChecked,"By Vendor")
@Html.Label("By Vendor")
@Html.RadioButtonFor(m=>m.IsCancelPageChecked,"Cancel Page")
@Html.Label("Cancel Page")
</div>
<div class =".editor-field">
@Html.RadioButtonFor(m=>m.IsDeleteByMemberChecked,"By Member")
@Html.Label("By Member")
</div>
<div class=".editor-field">
<input id="btnSubmitChanges" type="submit" value="Submit" />
</div>
}
这是我的控制器
[HttpPost]
public ActionResult Submit(DeleteModel deleteModel)
{
//some coding stuff
//here i am checking the radio button for selected one
if (deleteModel.IsDeleteByItemChecked)
{
DeleteItem deleteByItemInsert = new DeleteItem();
deleteByItemInsert.DeleteField = "ITEM";
deleteByItemInsert.DeleteIndicator = char.MinValue;
deleteByItemInsert.DeleteValue = itemDTO.ItemID;
}
if (deleteModel.IsDeleteByMemberChecked)
{
DeleteItem deleteByMemberInsert = new DeleteItem();
deleteByMemberInsert.DeleteField = "MEMBER";
deleteByMemberInsert.DeleteIndicator = char.MinValue;
deleteByMemberInsert.DeleteValue = "";
}
问题是,如果我选择first单选按钮
,然后单击submit按钮
它在控制器内的第一个if条件,但是第一个if条件
给出的是false
如何检查侧控制器中是否选择了单选按钮
请问有谁能解决这个问题吗
另一个问题是,如果我先选择第一个单选按钮,然后再选择第二个单选按钮,我无法取消选择第一个单选按钮。如何更正此单选按钮……这两个问题是相关的。通过稍微修改模型,您将能够对单选按钮进行分组,以便单击可以取消选择其他按钮,并检查所选的值 首先,将模型修改为:
public class DeleteModel
{
public string DeleteBy { get; set; }
[Display(Name = "By Item")]
public string ByItem { get; set; }
[Display(Name = "By Vendor")]
public string ByVendor { get; set; }
[Display(Name = "By Member")]
public string ByMember { get; set; }
[Display(Name = "Cancel Page")]
public string CancelPage { get; set; }
}
Html.RadioButtonFor()的第一个参数应该是您正在使用的属性名,第二个参数应该是特定单选按钮的值。然后,它们将具有相同的名称属性值,并且当/如果给定的单选按钮与属性值匹配时,助手将选择该单选按钮
继续修改DeleteModel类,这将使视图变成:
<div class =".editor-field">
@Html.RadioButtonFor(m=>m.DeleteBy,"item")
@Html.Label("By Item")
</div>
<div class =".editor-field">
@Html.RadioButtonFor(m=>m.DeleteBy,"vendor")
@Html.Label("By Vendor")
@Html.RadioButtonFor(m=>m.DeleteBy,"page")
@Html.Label("Cancel Page")
</div>
<div class =".editor-field">
@Html.RadioButtonFor(m=>m.DeleteBy,"member")
@Html.Label("By Member")
</div>
这两个问题是相关的。通过稍微修改模型,您将能够对单选按钮进行分组,以便单击可以取消选择其他按钮,并检查所选的值 首先,将模型修改为:
public class DeleteModel
{
public string DeleteBy { get; set; }
[Display(Name = "By Item")]
public string ByItem { get; set; }
[Display(Name = "By Vendor")]
public string ByVendor { get; set; }
[Display(Name = "By Member")]
public string ByMember { get; set; }
[Display(Name = "Cancel Page")]
public string CancelPage { get; set; }
}
Html.RadioButtonFor()的第一个参数应该是您正在使用的属性名,第二个参数应该是特定单选按钮的值。然后,它们将具有相同的名称属性值,并且当/如果给定的单选按钮与属性值匹配时,助手将选择该单选按钮
继续修改DeleteModel类,这将使视图变成:
<div class =".editor-field">
@Html.RadioButtonFor(m=>m.DeleteBy,"item")
@Html.Label("By Item")
</div>
<div class =".editor-field">
@Html.RadioButtonFor(m=>m.DeleteBy,"vendor")
@Html.Label("By Vendor")
@Html.RadioButtonFor(m=>m.DeleteBy,"page")
@Html.Label("Cancel Page")
</div>
<div class =".editor-field">
@Html.RadioButtonFor(m=>m.DeleteBy,"member")
@Html.Label("By Member")
</div>