1
我有一个单选按钮列表与IList
视图模型在C#MVC 5.我的ViewModel值传递给控制器动作结果方法。单选按钮列表与C#MVC中的IList视图模型5
但是,网页允许用户选择多个单选按钮。我需要如何为列表项目选择单个按钮(一次一个)。
这里有一个选择的单选按钮,屏幕:
这里是我的视图模型:
public class DeliveryDateVM
{
public int Id { get; set; }
public bool SelectedItem { get; set; }
public string DeliveryDay { get; set; }
public string DeliveryType { get; set; }
}
这里是我的查看:
@model IList<ViewModels.DeliveryDateVM>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@for (var i = 0; i < Model.Count; i++) {
@Html.HiddenFor(x => x[i].Id)
@{var uniqueID = Model[i].Id;}
<tr>
<td>
@{var uniqueID = Model[i].Id;}
@Html.RadioButtonFor(model => Model[i].SelectedItem, true, new { id = uniqueID })
</td>
<td>
@Html.DisplayFor(x => x[i].DeliveryType)
@Html.HiddenFor(x => x[i].DeliveryType)
</td>
<td>
@Html.DisplayFor(x => x[i].DeliveryDay)
@Html.HiddenFor(x => x[i].DeliveryDay)
</td>
</tr>
}
<button type="submit" class="btn btn-primary">Submit</button>
}
控制器值传递屏:
这里是我的GET控制器:
public ActionResult DeliveryDates()
{
var model = db.DeliveryPeriods
.Select(c =>
new DeliveryDateVM()
{
Id = c.Id,
DeliveryDay = c.DeliveryDay,
DeliveryType = c.DeliveryType,
}).ToList();
return View(model);
}
如果添加此方式,传递到字典的模型产品类型System.Collections.Generic.List的”。这是我的[HTTPGET]方法 变种模型= db.DeliveryPeriods 。选择(C => 新MainVM() { })ToList(); – Rob
不需要,您需要初始化一个新的'MainVM'实例,然后将'Days'属性设置为一个集合。你没有提供足够的信息(我不知道'db.DeliveryPeriods'返回什么属性,如果你添加模型到问题和现有的GET方法,我可以更新答案。 –
请告诉我怎么做现在改变[HttpGet]方法,现在就来了传入字典的模型项目类型为'System.Collections.Generic.List'1 [.ViewModels。MainVM]',但是这个字典需要一个'ViewModels.MainVM'类型的模型项。 – Rob