我有一个错误,我的下拉列表自动重置默认值!你能帮我吗!谢谢!
在模型中,我定义:
public List <int> StatesId { get; set; }
在视图中:
A:
@Html.DropDownListFor(m => m.StatesId, new SelectList(Model.States.Where(p=>p.StateTypeId == s1), "StateId", "StateContent"), "Select")<br /><br />
B:
@Html.DropDownListFor(m => m.StatesId, new SelectList(Model.States.Where(p => p.StateTypeId == s2), "StateId", "StateContent"), "Select")<br /><br />
C:
@Html.DropDownListFor(m => m.StatesId, new SelectList(Model.States.Where(p => p.StateTypeId == s3), "StateId", "StateContent"), "Select")<br /><br />
单击提交后,显示A中的选定值,但是B,C框中的值,它将自动重置为默认值为“select”,现在,我想在峰值之后,B中的值和C框将显示我选择的值!感谢
答案 0 :(得分:0)
请为每个控件创建一个不同的属性,不要对所有控件使用相同的属性。当然,您可以使用相同的数据源,但选择的内容应该不同。
最佳
丹尼尔
修改强>
查看:
@using System.Linq
@model StackOverflowSamples.Models.StatesViewModel
@Html.DropDownListFor(m => m.SelectedStateA, new SelectList(Model.States.Where(p => p.StateTypeId == s1), "SelectedStateA", "StateContent"), "Select")
@Html.DropDownListFor(m => m.SelectedStateB, new SelectList(Model.States.Where(p => p.StateTypeId == s2), "SelectedStateB", "StateContent"), "Select")
@Html.DropDownListFor(m => m.SelectedStateC, new SelectList(Model.States.Where(p => p.StateTypeId == s3), "SelectedStateC", "StateContent"), "Select")
型号:
public class StatesViewModel
{
public IList<StatesModel> States { get; set; }
public int SelectedStateA { get; set; }
public int SelectedStateB { get; set; }
public int SelectedStateC { get; set; }
}
答案 1 :(得分:0)
您应该使用连接到StateId的MultiSelect ListBox来选择多个状态,
否则
如果只允许三个状态,则在ViewModel中声明三个StatesIds 喜欢
StateId1 { get; set; }
StateId2 { get; set; }
StateId3 { get; set; }
并在视图中有三个下拉列表