Asp.net mvc 网格选定值中的DropDownListFor不起作用
这是我的密码Asp.net mvc 网格选定值中的DropDownListFor不起作用,asp.net-mvc,Asp.net Mvc,这是我的密码 ViewBag.Years= new SelectList(new[] { new { ID = "1", Name = "1 Year" }, new { ID = "2", Name = "2 Year" }, new { ID = "3", Name = "3 Year" }, }, "ID", "Name", ""); 在这里,我试图为每一行绑定在我的表中 @for (var i = 0; i < Model.Records.Count; i
ViewBag.Years= new SelectList(new[]
{ new { ID = "1", Name = "1 Year" },
new { ID = "2", Name = "2 Year" },
new { ID = "3", Name = "3 Year" },
}, "ID", "Name", "");
在这里,我试图为每一行绑定在我的表中
@for (var i = 0; i < Model.Records.Count; i++ )
{
@Html.DropDownListFor(m => Model[i].Years,
(SelectList)ViewBag.Years})
}
for(var i=0;ipublic class HomeController : Controller
{
public ActionResult Index()
{
ViewBag.Message = "Welcome to ASP.NET MVC!";
var data = Enumerable.Range(1, 5).Select(a => new myViewModel
{
Description ="Description"+a,
Years =GetYear(a)
}).ToList();
return View(data);
}
private List<SelectListItem> GetYear(int a)
{
return Enumerable.Range(1, 50).Select(y => new SelectListItem
{
Selected = y==a?true:false,
Text = y + " Year",
Value =y.ToString()
}).ToList();
}
public ActionResult About()
{
return View();
}
}
//Model class is bellow
public class myViewModel
{
public string Description { get; set; }
public List<SelectListItem> Years { get; set; }
}
Demo :
公共类家庭控制器:控制器
{
公共行动结果索引()
{
ViewBag.Message=“欢迎使用ASP.NET MVC!”;
var data=Enumerable.Range(1,5)。选择(a=>newmyviewmodel
{
Description=“Description”+a,
年份=GetYear(a)
}).ToList();
返回视图(数据);
}
私有列表GetYear(int a)
{
返回可枚举的范围(1,50)。选择(y=>new SelectListItem
{
所选=y==a?真:假,
Text=y+“年”,
值=y.ToString()
}).ToList();
}
关于()的公共行动结果
{
返回视图();
}
}
//下面是示范班
公共类myViewModel
{
公共字符串说明{get;set;}
公共列表年份{get;set;}
}
演示:
我来自哪里?你为什么不使用
项
?我忘了我使用的是for循环而不是foreach,我更改了代码请再看一次。你能分享你的模型类吗?您可以Model.Records.Count
,但也可以访问Model[i]
。你有自定义索引器吗?您也不会将参数用于lambda表达式。不清楚你想做什么。