ASP.NET - مجموعه‌ی SortedList

مجموعه‌ی SortedList دارای ویژگی‌های مشترک با ArrayList و Hashtable است.

مجموعه‌ی SortedList

مجموعه‌ی SortedList شامل پروژه‌هایی با استفاده از جفت‌های کلید/مقدار است. مجموعه‌ی SortedList می‌تواند به طور خودکار پروژه‌ها را بر اساس ترتیب حروفی یا عددی مرتب کند.

با استفاده از روش Add() به SortedList پروژه‌ها اضافه می‌شوند. SortedList می‌تواند با استفاده از روش TrimToSize() به اندازه نهایی تنظیم شود.

کد زیر یک SortedList به نام mycountries ایجاد می‌کند و چهار عنصر به آن اضافه می‌کند:

<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
  dim mycountries=New SortedList
  mycountries.Add("C","China")
  mycountries.Add("S","Sweden")
  mycountries.Add("F","France")
  mycountries.Add("I","Italy")
end if
end sub
</script>

پیوند داده‌ها

مجموعه‌ی SortedList می‌تواند به طور خودکار متن و مقادیر زیرین‌را برای کنترل‌ها تولید کند:

  • asp:RadioButtonList
  • asp:CheckBoxList
  • asp:DropDownList
  • asp:Listbox

برای پیوند دادن داده‌ها به کنترل RadioButtonList، ابتدا در فایل aspx یک کنترل RadioButtonList ایجاد کنید (بدون هیچ asp:ListItem):

<html>
<body>
<form runat="server">
<asp:RadioButtonList id="rb" runat="server" AutoPostBack="True" />
</form>
</body>
</html>

سپس اسکریپت ایجاد لیست را اضافه کنید:

<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
  dim mycountries=New SortedList
  mycountries.Add("C","China")
  mycountries.Add("S","Sweden")
  mycountries.Add("F","France")
  mycountries.Add("I","Italy")
  rb.DataSource=mycountries
  rb.DataValueField="Key"
  rb.DataTextField="Value"
  rb.DataBind()
end if
end sub
</script>
<html>
<body>
<form runat="server">
<asp:RadioButtonList id="rb" runat="server" AutoPostBack="True" />
</form>
</body>
</html>

سپس ما یک زیر برنامه اضافه می‌کنیم که هنگام کلیک کاربر روی یک عنصر RadioButtonList اجرا می‌شود. هنگام کلیک روی رادیو دکمه، متن در label نمایش داده می‌شود: }}

<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
  dim mycountries=New SortedList
  mycountries.Add("C","China")
  mycountries.Add("S","Sweden")
  mycountries.Add("F","France")
  mycountries.Add("I","Italy")
  rb.DataSource=mycountries
  rb.DataValueField="Key"
  rb.DataTextField="Value"
  rb.DataBind()
end if
end sub
sub displayMessage(s as Object,e As EventArgs)
lbl1.text="Your favorite country is: " & rb.SelectedItem.Text
end sub
</script>
<html>
<body>
<form runat="server">
<asp:RadioButtonList id="rb" runat="server"
AutoPostBack="True" onSelectedIndexChanged="displayMessage" />
<p><asp:label id="lbl1" runat="server" /></p>
</form>
</body>
</html>

این مثال را نمایش دهید