【发布时间】:2010-11-01 04:23:23
【问题描述】:
asp mvc DropDownList如何在visual basic .net中传递选定的项目 我把它放在视图中: 编译器说 我必须转换为 SelectList 因为 ViewData 返回一个对象 有什么想法吗?
谢谢.. 费尔南多·索鲁科
【问题讨论】:
标签: asp.net-mvc drop-down-menu
asp mvc DropDownList如何在visual basic .net中传递选定的项目 我把它放在视图中: 编译器说 我必须转换为 SelectList 因为 ViewData 返回一个对象 有什么想法吗?
谢谢.. 费尔南多·索鲁科
【问题讨论】:
标签: asp.net-mvc drop-down-menu
有两种方法可以解决您的问题。一个更快,一个更好......
更好的版本:
通过将顶部Page 标记的Inherits 属性更改为
Inherits="System.Web.Mvc.ViewPage<System.Web.UI.WebControls.SelectList>"
(或者SelectList 类的完整命名空间“路径”是……)
在您的控制器操作中,您通过使用将SelectList 作为Model 对象发送到视图
Return View(theSelectListYouCreatedWithItemsFromTheDataStore)
或者,如果您返回的视图名称与控制器操作不同:
Return View("theViewName", theSameSelectListAsAbove)
在您的视图中,您将 Model 对象(由于 View 的继承性而现在强类型为 SelectList)传递给辅助方法:
<%= Html.SelectList("Estados", ViewData.Model) %>
更快的版本:
在将 ViewData["Estadoslist"] 对象发送到辅助方法之前,将其转换为 SelectList:
<%= Html.SelectList("Estados", CCast(ViewData["EstadosList"], SelectList)) %>
【讨论】:
这与 Visual Basic 无关。 请检查这篇文章。它描述了如何绑定 MVC 下拉列表: http://www.altafkhatri.com/Technical/How_to_bind_IList_with_MVC_Dropdownlist_box
【讨论】: