Asp.net mvc 我的视图不会与MVC中的模型绑定
我有以下viewmodel:Asp.net mvc 我的视图不会与MVC中的模型绑定,asp.net-mvc,asp.net-mvc-3,Asp.net Mvc,Asp.net Mvc 3,我有以下viewmodel: public class CityViewModel { public CityViewModel() { CityDetails = Enumerable.Range(1,2).Select(x => new CityDetail()).ToList(); } public City City { get; set; } public IList
public class CityViewModel
{
public CityViewModel() {
CityDetails = Enumerable.Range(1,2).Select(x => new CityDetail()).ToList();
}
public City City { get; set; }
public IList<CityDetail> CityDetails { get; set; }
public class CityDetail
{
public CityDetail() {
Correct = true;
}
public bool Correct { get; set; }
}
我认为我有以下几点:
@foreach (int index in Enumerable.Range(0, Model.CityDetails.Count()))
{
<input type="hidden" name="CityDetails[@index]_Correct)" value="false" />
<input type="checkbox" id="CityValid" name="CityDetails[@index]_Correct" value='@Model.CityDetails[index].Correct' />
对于名为Correct的字段,我无法从视图获得任何到模型的绑定,因此我想知道我使用的命名。有人知道哪里可能出了问题吗?你的观点没有必要这样。创建一个编辑器模板,然后使用Html.EditorForx=>x.CityDetails。这将处理枚举集合并正确写出元素,以便它们映射回列表中。视图不需要这样。创建一个编辑器模板,然后使用Html.EditorForx=>x.CityDetails。这将处理枚举集合并正确写出元素,以便它们映射回列表。映射集合的简单而最好的方法是使用索引器。使用以下代码段
@for (int i = 0; i < Model.CityDetails.Count; i++)
{
@Html.EditorFor(x => Model.CityDetails[i].Correct)
}
映射集合的简单且最好的方法是使用索引器。使用以下代码段
@for (int i = 0; i < Model.CityDetails.Count; i++)
{
@Html.EditorFor(x => Model.CityDetails[i].Correct)
}
你需要包括更多的信息。您的@model语句是什么样子的,为什么要用相同的名称命名这两个模型?控制器呢。。你可能会遗漏一些东西ThePublic Action Result Createstring pk,string rk{var model=new CityViewModel;只是检查一下……你正在将模型传递给视图,对吗?返回Viewmodel;name=CityDetails[@index]_Correct应该是name=CityDetails[@index].correct您需要包含更多信息。您的@model语句是什么样子的,为什么要用相同的名称命名这两个模型?控制器呢..您可能缺少一些公共操作结果Createstring pk,string rk{var model=new CityViewModel;正在检查…您正在将模型传递给视图,对吗?返回Viewmodel;name=CityDetails[@index]\u正确的应该是name=CityDetails[@index]。正确吗