2012-03-19 74 views
0

承认将selectedItem我想送SelectedList通过ViewBag和控制器,查看我已选定的项目,这是控制器的DropDownList在MVC3不选择列表的

ViewData["aaa"]= new SelectList(new []{new SelectListItem { Text = "1", Value = "1" }, 
new SelectListItem { Text = "2", Value = "2"}, 
new SelectListItem { Text = "25", Value = "25" }, 
new SelectListItem { Text = "50", Value = "50" }, 
new SelectListItem { Text = "100", Value = "100" }, 
new SelectListItem { Text = "1000", Value = "1000" }}, "Text", "Value", "100"); 

视图部分

@Html.DropDownListFor(m1 => m1.Sobe,(IEnumerable<SelectListItem>)ViewData["aaa"]) 

和我得到这个HTML

<select data-val="true" data-val-number="The field Sobe must be a number." data-val-required="The Sobe field is required." id="Sobe" name="Sobe"><option value="1">1</option> 
<option value="2">2</option> 
<option value="25">25</option> 
<option value="50">50</option> 
<option value="100">100</option> 
<option value="1000">1000</option> 
</select> 

,这意味着没有任何选择。我不明白,请帮忙

+0

而且我知道如果我DropDownListFor更改为下拉列表和设置从属性不同的名称,将工作,但我不能回来值 – VirtuoZ 2012-03-19 08:51:57

回答

0

HTML辅助选择了在

发现m1.Sobe

项目。如果m1.Sobe为0,则不会选择任何内容。

HTML辅助忽略所选项目“的SelectList”

+0

这不是个例,我只需明确定义该值。我找到解决方案来更改dropdownlist名称,但我不能将数据绑定到html数据?有没有解决这个问题的方法? – VirtuoZ 2012-03-19 09:12:42

+0

名称必须相同才能将数据返回到模型 – Rinat 2012-03-19 09:20:59

+0

是的,我知道,但如果我将名称与属性相同,则mvc将不会显示选定的值。这是文章http://mattpenner.info/2010/02/02/mvc-bug-with-default-dropdownlist-or-listbox-html-helpers/#comment-504 – VirtuoZ 2012-03-19 09:28:04