【问题标题】:asp mvc DropDownList how to pass a selected item in visual basic .netasp mvc DropDownList如何在visual basic .net中传递所选项目
【发布时间】:2010-11-01 04:23:23
【问题描述】:

asp mvc DropDownList如何在visual basic .net中传递选定的项目 我把它放在视图中: 编译器说 我必须转换为 SelectList 因为 ViewData 返回一个对象 有什么想法吗?

谢谢.. 费尔南多·索鲁科

【问题讨论】:

    标签: asp.net-mvc drop-down-menu


    【解决方案1】:

    有两种方法可以解决您的问题。一个更快,一个更好......

    1. 更好的版本:

      通过将顶部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) %>
      
    2. 更快的版本:

      在将 ViewData["Estadoslist"] 对象发送到辅助方法之前,将其转换为 SelectList

      <%= Html.SelectList("Estados", CCast(ViewData["EstadosList"], SelectList)) %>
      

    【讨论】:

    • 如果您已经将另一个模型发送到您的视图,您可以将它们都包装在 EstadosViewModelWrapper 类中,该类将您需要的所有其他内容作为属性并作为模型对象传递下来。
    【解决方案2】:

    这与 Visual Basic 无关。 请检查这篇文章。它描述了如何绑定 MVC 下拉列表: http://www.altafkhatri.com/Technical/How_to_bind_IList_with_MVC_Dropdownlist_box

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-14
      • 2013-01-07
      相关资源
      最近更新 更多