◎以上程式範例AspNet04.aspx,如在頁框下不能操作,請開新視窗操作
◎如果有問題歡迎您提出,dnowba很需要有人和我一起討論
Partial Class AspNet04
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
' ===== DropDownList控制項基本使用方式 =====
' DropDownList控制項和HTML表單的下拉式選單(就是<select>標籤)一樣
' 很多人設計自動PostBack功能、加入自訂項目功能…這些要花很多工夫去另外設計判別程式是否可正常執行
' 底下就有一些類似範例,甚至是「設計不良」的讓大家感覺並除錯一下
' 個人認為,DropDownList的設計是要拿來做一些「必選選項」的,好像是考試時的選擇題(單選題)…
' user一定要選擇,而且沒有例外…才適合用DropDownList
' 打比方來說台灣人的戶籍縣市別…就一定只有一個而且沒有例外(嗎???)
End Sub
Protected Sub Page_PreInit(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreInit
' 在控制項初始化時可以加入下拉式選單的「子選項」
' 有人會把加入子選項寫在Page_Load事件,然後每次控制項形成時都要Me.DropDownList.clear()先清空…,我是寫在Page_PreInit時…
' DropDownList可同時傳遞選項值,包含Text和Value,下面是只加入子選項的Text,預設中,若不設定Value,Text=Value
Me.Label1.Text = "範例1:最基本的DropDownList<br>請選擇你的興趣"
Me.DropDownList1.Items.Add("1、政治")
Me.DropDownList1.Items.Add("2、教育")
Me.DropDownList1.Items.Add("3、娛樂")
Me.Button1.Text = "確定送出"
' 控制項可以加入下拉式選單的不同Value和Text的子選項,同時我們也設定它自動PostBack
' 設定PostBack的好處是使用者少一個步驟,但是PostBack是要當控制項有變動時才會引發…
' 所以DropDownList的第一項一定選不到…這個時候可以變通一下,把「選擇提示」寫在第一個子選項裡
Me.Label2.Text = "範例2:Value和Text不同的DropDownList"
Me.DropDownList2.AutoPostBack = True
Me.DropDownList2.Items.Add("請選擇你的興趣")
Me.DropDownList2.Items.Add(New ListItem("1、政治", "Political"))
Me.DropDownList2.Items.Add(New ListItem("2、教育", "Education"))
Me.DropDownList2.Items.Add(New ListItem("3、娛樂", "Entertainment"))
' DropDownList中動態加入新的子選項
Me.Label3.Text = "範例3:動態加入新的子選項<br>請選擇你的偶像"
Me.DropDownList3.AutoPostBack = True
Me.Button3.Text = "加入一個新的選項"
Me.DropDownList3.Items.Add("周杰倫")
Me.DropDownList3.Items.Add("王力宏")
Me.DropDownList3.Items.Add("孫燕姿")
' DropDownList動態加入子選項(美化版)
Me.Label4.Text = "範例3:動態加入新的子選項(美化版)"
Me.DropDownList4.AutoPostBack = True
Me.Button4.Text = "加入一個新的選項"
Me.DropDownList4.Items.Add("周杰倫")
Me.DropDownList4.Items.Add("王力宏")
Me.DropDownList4.Items.Add("孫燕姿")
Me.DropDownList4.Items.Add("其他…")
' 最後設計一個panel控制項把加入子選項的Textbox和Button控制項給包起來並設定隱藏
' 等選到「其他…」這個選項以後再打開來…
Me.Panel1.Visible = False
' 這裡放一個Label做為動態標示文字,顯示DropDownList選取後的結果
Me.Label5.Text = ""
Me.Label5.ForeColor = Drawing.Color.Red
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
' 雖然DropDownList1沒有設定Value,但是預設會把Value=Text,所以我們還是可以取得該控制項的Value值
Me.Label5.Text = "你已經選擇了" & Me.DropDownList1.SelectedValue & "!!!"
End Sub
Protected Sub DropDownList2_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DropDownList2.SelectedIndexChanged
Me.Label5.Text = "你已經選擇了" & Me.DropDownList2.SelectedValue & "!!!"
End Sub
Protected Sub Button3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button3.Click
Me.DropDownList3.Items.Add(Me.TextBox3.Text)
End Sub
Protected Sub DropDownList3_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DropDownList3.SelectedIndexChanged
Me.Label5.Text = "你已經選擇了" & Me.DropDownList3.SelectedValue & "!!!"
End Sub
Protected Sub DropDownList4_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DropDownList4.SelectedIndexChanged
If Me.DropDownList4.SelectedValue = "其他…" Then
Me.Panel1.Visible = True
Else
Me.Panel1.Visible = False
End If
Me.Label5.Text = "你已經選擇了" & Me.DropDownList4.SelectedValue & "!!!"
End Sub
Protected Sub Button4_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button4.Click
Me.DropDownList4.Items.Add(Me.TextBox4.Text)
End Sub
End Class
感謝大大的教學
回覆刪除正在找如何從後端增加DropDownList選項