2014年3月26日 星期三

DropDownList使用者未曾挑選(沒選取)任何一個子項目,該如何警示?

http://www.dotblogs.com.tw/mis2000lab/archive/2014/03/24/dropdownlist_selectedindex_20140324.aspx

DropDownList使用者未曾挑選(沒選取)任何一個子項目,該如何警示?


DropDownList使用者未曾挑選(沒選取)任何一個子項目,該如何警示?
 
 
根據 msdn網站的說明:
SelectedIndex 屬性  -- 清單中選取項目的最低序數索引。 預設值為 -1,指出沒有選取任何項目。
 
 
 
經過測試
 
RadioButtonList / CheckBoxList / ListBox都可以這樣使用(如同下面程式),來偵測 User沒有點選任何一個項目
 
唯獨 DropDownList做不到???
 
    protected void Button3_Click(object sender, EventArgs e)
    {
        if (RadioButtonList1.SelectedIndex == -1)
        {
            Label1.Text = "
[Button3]--RadioButtonList1尚未選取";
        }
        else
        {
            Label1.Text = "
[Button3]--RadioButtonList1--" + RadioButtonList1.SelectedValue;
        }
    }
 
 
 
 
DropDownList當您按下按鈕之後,總是會抓到第一個子選項(selectedIndex = 0)
 
即使您根本沒有點選它、
也沒有設定它(第一個子選項)是預設選項 (.Selected)
 
不管您是否設定 DropDownList的 AutoPostBack都一樣。
 
(點選圖片,可以連結到解答)
 
 
 
解決方法:
 
 
 
       
                               OnSelectedIndexChanged="DropDownList2_SelectedIndexChanged">
 
                Value="0">未選取
                X111
                X222
                X333
                X444
       
       
 ID="RequiredFieldValidator2" runat="server"
             ControlToValidate="DropDownList2"
             ErrorMessage="RequiredFieldValidator未選取!" ForeColor="Red" InitialValue="0">
       
       
         
 
 
 
 


 
............................. 寫信給我,mis2000lab (at) yahoo.com.台灣........................................................
.............................   facebook社團   https://www.facebook.com/mis2000lab   ............................
.............................   Google+   https://plus.google.com/100202398389206570368/posts ..............


http://www.dotblogs.com.tw/mis2000lab/archive/2014/03/24/dropdownlist_selectedindex_20140324.aspx

DropDownList使用者未曾挑選(沒選取)任何一個子項目,該如何警示?

沒有留言: