2010-07-20 74 views
0

似乎我發現的大多數例子都是c#,所以在某些情況下,我只剩下搔頭了......簡而言之,我只是簡單的試圖輸出項目的選擇列表的我的看法中的下拉:VB中的MVC.NET - 選擇列表到Html.Dropdownlist

我的視圖模型:

Imports System.Web 
Imports Whitebox.UI 


Namespace ViewModels 
Public Class TFS_VModel 
    Public Property AccType() As IEnumerable(Of LibAcctType) 
     Get 
      Return m_types 
     End Get 

     Set(ByVal value As IEnumerable(Of LibAcctType)) 
      m_types = value 
     End Set 
    End Property 

    Private m_types As IEnumerable(Of LibAcctType) 
End Class 
End Namespace 

我的控制器:

Imports System 
Imports System.Collections.Generic 
Imports System.Linq 
Imports System.Web.Mvc 
Imports Whitebox.UI 
Imports Whitebox.UI.ViewModels 

<HandleError()> _ 
Public Class TFSController 
    Inherits Controller 

    Dim _DB As New BlackBoxNormalizedEntities() 

    Function TFSMain() As ActionResult 
     Dim AccTypeList = (From m In _DB.LibAcctType Select m).ToList() 

     Dim viewModel As New TFS_VModel() 
     viewModel.AccType = AccTypeList 

     Return View(viewModel) 
    End Function 


End Class 

所有我想現在要做的就是簡單地在HTML.DROPDOWNLIST中輸出我的「SelectList」 ()在我看來...任何幫助將不勝感激。在逐步完成時,我的列表項顯示在「返回視圖(viewmodel)」手錶中,但我堅持執行輸出。

回答

1

您需要在您的視圖模型添加屬性,將持有的選擇帳戶類型:

Public Class TFS_VModel 
    Public Property AccType() As IEnumerable(Of LibAcctType) 
     Get 
      Return m_types 
     End Get 

     Set(ByVal value As IEnumerable(Of LibAcctType)) 
      m_types = value 
     End Set 
    End Property 

    Private m_selectedAccType As String 
    Public Property SelectedAccType() As String 
     Get 
      Return m_selectedAccType 
     End Get 
     Set(ByVal value As String) 
      m_selectedAccType = value 
     End Set 
    End Property 

    Private m_types As IEnumerable(Of LibAcctType) 
End Class 

然後在您的視圖:

<%= Html.DropDownListFor(Function(x) x.SelectedAccType, New SelectList(Model.AccType, "Id", "Text", Model.SelectedAccType)) %> 

下拉列表的下降是從構建LibAcctTypeIdTextAccType集合應該屬於此LibAcctType

+0

謝謝!我設法通過使用<%:Html.DropDownList(「Acctype」,New SelectList(Model.AccType,「AcctType」,「Description」))%>創建一個通過我的控制器的局部視圖來顯示下拉菜單,工作和來源顯示我需要它的價值觀....現在我需要弄清楚如何允許在我的下拉選擇多個! – denisb 2010-07-20 14:34:56

+1

您可以使用'MultiSelectList'而不是使用'Html.ListBox'幫手的'SelectList'。 – 2010-07-20 14:40:59

+0

完美!謝謝!作品! – denisb 2010-07-20 15:05:41