C# 模型绑定的问题
我不清楚这为什么不起作用C# 模型绑定的问题,c#,model-view-controller,asp.net-mvc-5,model-binding,C#,Model View Controller,Asp.net Mvc 5,Model Binding,我不清楚这为什么不起作用 public class Regiones { [DisplayName("Select the region")] public int SelectedId { get; set; } public IEnumerable<SelectListItem> SelectedRegion { get; set; } public Regiones() { SelectedRegion = new[]{
public class Regiones
{
[DisplayName("Select the region")]
public int SelectedId { get; set; }
public IEnumerable<SelectListItem> SelectedRegion { get; set; }
public Regiones()
{
SelectedRegion = new[]{
new SelectListItem { Value = "BR", Text = "Brasil" },
new SelectListItem { Value = "EUNE", Text = "Europe East" },
new SelectListItem { Value = "EUW", Text = "Europe West" },
new SelectListItem { Value = "KR", Text = "Korea" },
new SelectListItem { Value = "LAN", Text = "Latin America North" },
new SelectListItem { Value = "LAS", Text = "Latin America South" },
new SelectListItem { Value = "NA", Text = "Northamerica" },
new SelectListItem { Value = "OCE", Text = "Oceania" },
new SelectListItem { Value = "TR", Text = "Tr" },
new SelectListItem { Value = "PBE", Text = "PBE" },
new SelectListItem { Value = "Global", Text = "Global" }
};
}
}
视图:
@使用(@Html.BeginForm(“Featured”、“FeaturedGames”、FormMethod.Post、new{id=“form”}))
{
@Html.AntiForgeryToken();
@LabelFor(x=>x.SelectedId)
@Html.DropDownListFor(x=>x.SelectedId,Model.SelectedRegion,new{@id=“regiones”})
}
我
我试过这个:
这是:
当我单击“发送”按钮时,所选ID中的结果始终为0
我会错过什么?提前谢谢你问题是你的
值
是字符串
在SelectListItem
中输入,但是你的SelectedId
是int类型
下一行中的值
类型为字符串
new SelectListItem { Value = "BR", Text = "Brasil" },
在下面的代码行中选择edid
是int
[DisplayName("Select the region")]
public int SelectedId { get; set; }
因此,该值在转换过程中丢失。将SelectedId
的数据类型更改为string
,以解决问题
在这里摆弄:您是否尝试过类似的
region.SelectedRegion.ToList().Where(x=>x.Value==region.SelectedId)。Text
关键是在提交表单时。它看起来像是空的,然后“SelectedId总是=0”,并且它没有在其中获得coorrect值。模型“控制器中的区域”(回发)始终为空。。。
new SelectListItem { Value = "BR", Text = "Brasil" },
[DisplayName("Select the region")]
public int SelectedId { get; set; }