C# 如何在没有viewbag、viewdata或JavaScript的情况下动态确定dropdownlist中的选定项
保存我有一个对象C# 如何在没有viewbag、viewdata或JavaScript的情况下动态确定dropdownlist中的选定项,c#,asp.net,asp.net-mvc,html-select,C#,Asp.net,Asp.net Mvc,Html Select,保存我有一个对象Mytype,它有一个对象item都有唯一的ID,所以ID1和ID2 我有一个编辑表单,数据是基于Mytype的ID ID1加载的 public void Load(int id) { var db = new dbEntities(); Mytypes = db.MyTypes.ToList(); MyTypeList = new SelectList(Mytypes, "ID", "Name"); // etc .... 我有一个dropd
Mytype
,它有一个对象item
都有唯一的ID,所以ID1和ID2
我有一个编辑表单,数据是基于Mytype的ID ID1加载的
public void Load(int id)
{
var db = new dbEntities();
Mytypes = db.MyTypes.ToList();
MyTypeList = new SelectList(Mytypes, "ID", "Name");
// etc ....
我有一个dropdownlist,希望它与项目ID(ID2)具有相同ID的项目登录,作为属于ID1的Mytype的项目
@Html.DropDownList("MyType_ID", Model.MyTypeList,
htmlAttributes: new { @class = "form-control",
required = "required", autofocus = "autofocus" })
不使用
ViewBag
或ViewData
或JS
是否可以执行此操作?假设您的模型具有名为MyType\u ID
的属性,然后将其值设置为与其中一个选项值匹配,在渲染视图时将选择该选项
public class MyModel
{
public string MyType_ID { get; set; }
public IEnumerable<SelectListItem> MyTypeList { get; set; }
....
}
在我看来
@Html.DropDownList("MyType_ID", Model.MyTypeList, new { @class = "form-control", autofocus = "autofocus" })
或者最好使用强类型的xxxFor()
方法
@Html.DropDownListFor(m => m.MyType_ID, Model.MyTypeList, new { @class = "form-control", autofocus = "autofocus" })
如果
Mything
是您的模型中的一个属性,则只需将其值设置为与其中一个选项相匹配,即可将其选中。var model=new MyModel(){Mything=“ID2”,MyList=…};返回视图(模型)代码>(但请使用强类型帮助程序-@Html.DropDownListFor(m=>m.Mything,Model.MyList,new{@class=“form control”,autofocus=“autofocus”})
(请注意,`required=“required”)有点毫无意义)
@Html.DropDownListFor(m => m.MyType_ID, Model.MyTypeList, new { @class = "form-control", autofocus = "autofocus" })