VB.NET - 使用 ListBoxFor 和 DropDownList [关闭]

Posted

技术标签:

【中文标题】VB.NET - 使用 ListBoxFor 和 DropDownList [关闭]【英文标题】:VB.NET - Using ListBoxFor and DropDownList [closed] 【发布时间】:2012-09-16 23:06:40 【问题描述】:

我对这个 ASP.net MVC 东西很陌生,并且真的被困在 ListBoxFor 和 DropDownListFor 上。

如何使用它们?有什么例子吗?

【问题讨论】:

这是个好问题。切换到 MVC,要掌握的新概念之一是处理模型和助手。了解 ListBoxFor (& DropDownListFor) 如何真正具有启发性。根据给出的答案,您突然意识到一个好的强大视图模型的目的和好处。 【参考方案1】:

真的没那么难。与往常一样,您从定义视图模型开始:

Public Class MyViewModel
    Public Property SelectedItems As IEnumerable(Of String)
    Public Property SelectedItem As String
    Public Property Items As IEnumerable(Of SelectListItem)
End Class

然后是控制器:

Public Class HomeController
    Inherits System.Web.Mvc.Controller

    Function Index() As ActionResult
        Dim model = New MyViewModel With 
            .Items = 
                New SelectListItem() With .Value = "1", .Text = "item 1",
                New SelectListItem() With .Value = "2", .Text = "item 2",
                New SelectListItem() With .Value = "3", .Text = "item 3"
            
        
        Return View(model)
    End Function

    Function Index(model As MyViewModel) As ActionResult
        ' Here you can use the model.SelectedItem which will
        ' return you the id of the selected item from the DropDown and 
        ' model.SelectedItems which will return you the list of ids of
        ' the selected items in the ListBox.
        ...
    End Function
End Class

最后是对应的强类型视图:

@ModelType MvcApplication1.MyViewModel

@Using html.BeginForm()
    @Html.DropDownListFor(Function(x) x.SelectedItem, Model.Items)
    @Html.ListBoxFor(Function(x) x.SelectedItems, Model.Items)
    @<input type="submit" value="OK" />
End Using

【讨论】:

以上是关于VB.NET - 使用 ListBoxFor 和 DropDownList [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Mvc3 中填充 ListBoxFor?

禁用属性不适用于 ListBoxFor 和 DropDownListFor

如何从 ListBoxFor 中删除选定的属性

使用 AngularJS 将所​​选值绑定到多选 ListboxFor 控件

将 ListBoxFor 绑定到 MVC 3 中的模型并使用另一个模型自动选择多个项目

使用 listboxfor/listbox 进行多项选择,仅发布最后一个选定项目