200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > @html.dropdownlist 设置默认值 Html.DropdownListFor未设置选定值

@html.dropdownlist 设置默认值 Html.DropdownListFor未设置选定值

时间:2019-08-08 11:16:30

相关推荐

@html.dropdownlist 设置默认值 Html.DropdownListFor未设置选定值

慕慕森

您的代码存在一些概念问题:首先,@Html.DropDownListFor(n=>n.OrderTemplates,newSelectList(Model.OrderTemplates,"OrderTemplateId","OrderTemplateName",1),"Pleaseselectanordertemplate")使用DropDownListFor时,第一个参数是提交表单后存储所选值的属性。因此,在您的情况下,您应该拥有SelectedOrderId模型的一部分或类似的东西,以便以这种方式使用它:@Html.DropDownListFor(n=>n.SelectedOrderId,newSelectList(Model.OrderTemplates,"OrderTemplateId","OrderTemplateName",1),"Pleaseselectanordertemplate")第二,除了使用ViewBag之外,这没有错,但有更好的方法(将信息放在ViewModel中),当您持有SelectList的ViewBag属性时,存在“小错误”(或未预料到的行为)放置所选值的属性的相同名称。要避免这种情况,请在命名包含项目列表的属性时使用其他名称。如果我是你,我会使用一些代码来避免这个问题并编写更好的MVC代码:视图模型:publicclassMyViewModel{

publicintSelectedOrderId{get;set;}

publicSelectListOrderTemplates{get;set;}

//Otherpropertiesyouneedinyourview}控制器:publicActionResultMyAction(){

varmodel=newMyViewModel();

model.OrderTemplates=newSelectList(db.OrderTemplates,"OrderTemplateId","OrderTemplateName",1);

//Otherinitializationcode

returnView(model);}在您的视图中:@Html.DropDownListFor(n=>n.SelectedOrderId,Model.OrderTemplates,"Pleaseselectanordertemplate")

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。