آموزش WebForm-شیء SortedList

چاپ

شیء SortedList ویژگی های شیء ArrayList و شیء Hashtable را ترکیب می کند.


شیء SortedList

شیء SortedList حاوی عناصری به صورت زوج Key/Value می باشد. شیء SortedList عناصر را از روی الفبا یا به صورت عددی به صورت اتوماتیک، مرتب می کند.

عناصر با استفاده از متد ()Add به SortedList اضافه می شوند. یک SortedList می تواند تا آخرین اندازه خود، با استفاده از متد ()TrimToSize سایز دهی شود.

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

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

Data Binding

شیء SortedList ممکن است به صورت اتوماتیک، متن و مقادیر را برای کنترل های زیر تولید کند:

برای اتصال کنترل RadioButtonList، ابتدا یک کنترل RadioButtonList (بدون استفاده از عنصر asp:ListItem) در یک صفحه aspx. ایجاد فرمایید:

<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("N","Norway")
  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 ظاهر می شود:

مثال (آموزش WebForm-شیء SortedList)

<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
  dim mycountries=New SortedList
  mycountries.Add("N","Norway")
  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>

خروجی کد بالا: