我使用的razor
视图引擎和有一点麻烦创建的列表radiobutton
。
我填充表一for
我的模型在我看来,价值循环。 在每一行我想有一个radiobutton
。 我希望能够选择只有一个行并从模型中获取相关项目ID,并提交到另一页。 我知道如何发布。 其实,我通过使用实现了这个checkbox
。 但随着问题checkbox
是,它允许多个选择。
所以我想我需要使用radiobutton
。 任何帮助,将不胜感激。
我使用的razor
视图引擎和有一点麻烦创建的列表radiobutton
。
我填充表一for
我的模型在我看来,价值循环。 在每一行我想有一个radiobutton
。 我希望能够选择只有一个行并从模型中获取相关项目ID,并提交到另一页。 我知道如何发布。 其实,我通过使用实现了这个checkbox
。 但随着问题checkbox
是,它允许多个选择。
所以我想我需要使用radiobutton
。 任何帮助,将不胜感激。
假设你有一个这样的视图模型
public Class CheckOutViewModel
{
public string SelectedPaymentType { set; get; }
public IEnumerable<SelectItems> PaymentTypes { set; get; }
}
而你设置PaymentTypes收藏在你的GET
操作方法,并把它发送到其是强类型的视图CheckOutViewModel
public ActionResult Checkout()
{
var vm=new CheckOutViewModel
vm.PaymentTypes=GetPaymentTypes(); //gets a list of SelectItems
return View(vm);
}
而在你的浏览
@model CheckOutViewModel
@using(Html.BeginForm())
{
foreach (var paymentItem in Model.PaymentTypes)
{
@Html.RadioButtonFor(mbox => mbox.SelectedPaymentType,
paymentItem.ID.ToString())
@paymentItem.Name
}
<input type="submit" value="Save" />
}
假设GetPaymentTypes()
方法将返回一个列表SelectItems
数据库中的记录。
这会给你具有相同名称的值(SelectedPaymentType)单选按钮。 因此只有一个可以被选择。
在你POST
操作,您可以通过检查SelectedPaymentType属性值读取选定值
[HttpPost]
public ActionResult Checkout(CheckOutViewModel model)
{
//check the value of model.SelectedPaymentType
}