شیء HashTable حاوی آیتم هایی به صورت Key/Value می باشد.

ایجاد یک Hashtable

شیء HashTable حاوی آیتم هایی به صورت Key/Value می باشد. کلیدها به عنوان اندیس استفاده می شوند، و جستجوی خیلی سریعی روی مقادیر می تواند از طریق جستجوی کلیدها انجام شود. آیتم ها با استفاده از متد ()ADD به Hashtable اضافه می گردند. کد زیر یک HashTable با نام mycountries ایجاد می کند و چهار عنصر به آن اضافه می کند:


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

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

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

برای اتصال یک کنترل 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 Hashtable
  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 ظاهر می شود:

مثال:

 


<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
  dim mycountries=New Hashtable
  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>

 

 

 

 

 

نکته: شما نمی توانید عناصری که به یک Hashtable اضافه شده است را مرتب کنید. برای مرتب سازی عناصر از روی حروف الفبا یا بر اساس عدد، از SortedList استفاده نمایید.

منبع:بیاموز

نظر خود را اضافه نمایید

ارسال نظر به عنوان مهمان

0