This article was translated by machine. To view in the article in English, select the English check box. You can also display the English text in a popup window by moving the mouse pointer over the text.
الترجمة
الأصلي

SelectExtensions الفئة

Visual Studio 2010

تمثل دعم لإجراء التحديدات في القائمة.

مساحة الاسم:  System.Web.Mvc.Html
التجميع:  System.Web.Mvc (في System.Web.Mvc.dll)

public static class SelectExtensions

فئة الSelectExtensions تحتوي على طرق تقوم بتمديد فئة ال HtmlHelper. كل أسلوب توسيع يقدّم عنصر selectHTML. أسلوب الDropDownList يعرض عنصر يمكّن المستخدم من تحديد العنصر من قائمة منسدلة. ListBox أسلوب يعرض عنصر يمكّن المستخدم من إلى تحديد من قائمة تمرير العناصر.

المثال التالي يبين كيفية استخدام كلا من DropDownListو ListBoxالأساليب في طريقة العرض. عنصر تحكم الListBox يعرض قائمة دفتر العناوين الذي يمكن للمستخدم تحديد واحد أو أكثر من الكتب. DropDownList يعرض قائمة يمكن للمستخدم تحديد pet. واحد الحيوانات الأليفة ثم يتم عرض التحديدات في طريقة عرض أخرى.

الفئات التالية تعرف طراز البيانات الذي يُستخدم لكتاب و حيوان أليف.


Public Class Book
    Private _Id As Integer
    Public Property Id() As Integer
        Get
            Return _Id
        End Get
        Set(ByVal value As Integer)
            _Id = value
        End Set
    End Property

    Private _Title As String
    Public Property Title() As String
        Get
            Return _Title
        End Get
        Set(ByVal value As String)
            _Title = value
        End Set
    End Property
End Class

Public Class Pet
    Private _Id As Integer
    Public Property Id() As Integer
        Get
            Return _Id
        End Get
        Set(ByVal value As Integer)
            _Id = value
        End Set
    End Property

    Private _Name As String
    Public Property Name() As String
        Get
            Return _Name
        End Get
        Set(ByVal value As String)
            _Name = value
        End Set
    End Property
End Class


في المثال التالي، يتم إنشاء قائمة بالعناصر لكل عنصر تحكم في Indexأسلوب الإجراء و تمرير إلى طريقة العرض في ViewDataDictionaryالكائن.


static List<Book> bookList = new List<Book>();
static List<Pet> petList = new List<Pet>();

public ActionResult Index()
{
    ViewData["Message"] = "HTML Select Extensions for MVC";

    bookList.Add(new Book { Id = 1, 
        Title = "Adventures of Huckleberry Finn" });
    bookList.Add(new Book { Id = 2, 
        Title = "Crime and Punishment" });
    bookList.Add(new Book { Id = 3, 
        Title = "David Copperfield" });
    bookList.Add(new Book { Id = 4, 
        Title = "Gone with the Wind" });
    bookList.Add(new Book { Id = 5, 
        Title = "Moby Dick" });
    bookList.Add(new Book { Id = 6, 
        Title = "Origin of Species" });
    bookList.Add(new Book { Id = 7, 
        Title = "War and Peace" });

    ViewData["Books"] = from book in bookList
                        select new SelectListItem 
                        { 
                            Text = book.Title, 
                            Value = book.Id.ToString() 
                        };

    petList.Add(new Pet { Id = 1, Name = "Dog" });
    petList.Add(new Pet { Id = 2, Name = "Cat" });
    petList.Add(new Pet { Id = 3, Name = "Hamster" });
    petList.Add(new Pet { Id = 4, Name = "Parrot" });
    petList.Add(new Pet { Id = 5, Name = "Gold fish" });
    petList.Add(new Pet { Id = 6, Name = "Mountain lion" });
    petList.Add(new Pet { Id = 7, Name = "Elephant" });

    ViewData["Pets"] = from pet in petList
                        select new SelectListItem
                        {
                            Text = pet.Name,
                            Value = pet.Id.ToString()
                        };
    return View();
}


يظهر المثال التالي طريقة العرض التي تعرض في إدخال نموذج يحتوي على مربع قائمة المنسدلة-أسفل القائمة. يتم تمرير كائن مجهول لمربع القائمة الذي يعرَف سمة الHMTL size لمربع قائمة المقدَمة.


<h2><%= Html.Encode(ViewData["Message"]) %></h2>
<br />
<% using(Html.BeginForm("Selection", "Home")) %>
<% { %>
    Select one or more books:<br />
    <%= Html.ListBox("BookIds", 
        (IEnumerable<SelectListItem>)ViewData["Books"], 
        new {size="7"}) %>
    <br /><br />
    Select a pet:<br /> 
    <%= Html.DropDownList("PetId", 
        (IEnumerable<SelectListItem>)ViewData["Pets"]) %>
    <br /><br />
    <input type="submit" value="Submit" />
<% } %>


عندما يرسل المستخدم النموذج أسلوب إجراء الSelectionيقوم بمعالجة الطلب ثم يعرض طريقة العرض التي تعرض التحديدات.


public ActionResult Selection(int[] bookIds, int petId)
{
    string bookMsg = "";

    foreach (Book book in bookList)
    {
        for (int i = 0; i < bookIds.Count(); i++)
        {
            if (book.Id == bookIds[i])
            {
                bookMsg = bookMsg + "Your book selection: <b>" 
                    + book.Title + "</b><br />";
            }
        }
    }

    ViewData["books"] = bookMsg;

    foreach (Pet pet in petList)
    {
        if (pet.Id == petId)
        {
            ViewData["pet"] = pet.Name;
        }
    }

    return View();
}


تعرض طريقة العرض التالية تحديدات المستخدم.


<h2>HTML Select Extensions</h2>

<p><%= ViewData["books"] %></p>
<p>Your pet selection: <b><%= ViewData["pet"] %></b></p>


System.Object
  System.Web.Mvc.Html.SelectExtensions

يتم تأمين العملية الجزئية لأي عضو عمومي ثابت (مشترك في Visual Basic) من هذا النوع. لن يتم ضمان تأمين العملية الجزئية لأي عضو مثيل.
إظهار: