日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

dropdownlist控件取值用法介紹

 醉人說夢 2014-07-24

今天打算學(xué)習(xí)下dropdownlist控件的取值,當(dāng)你通過數(shù)據(jù)庫控件或dataset綁定值后,但又希望顯示指定的值,這可不是簡單的值綁定就OK,上網(wǎng)搜了一些資料,想徹底了解哈,后面發(fā)現(xiàn)其中有這么大的奧妙,可以通過很多種方法解決同樣的問題,下面詳說:

一、dropdownlist控件的值綁定方法:
1、直接輸入item項
<asp:DropDownList ID="DropDownList1" runat="server" >
 <asp:ListItem>張三</asp:ListItem>
 <asp:ListItem>李四</asp:ListItem>
</asp:DropDownList>                     
這恐怕是最簡單的,看下面這種
2、數(shù)據(jù)源控件綁定
<asp:DropDownList ID="DropDownList1"runat="server"DataSourceID="SqlDataSource1"DataTextField="name"DataValueField="name">                            </asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings: ConnectionString %>"
 SelectCommand="SELECT [name] FROM [yh]"></asp:SqlDataSource>
這種實用、方便寫,再看下面這種
3、使用dataset或datareader綁定控件(以dataset為例)
SqlDataAdapter da = new SqlDataAdapter("select id,name from hy",conn);
DataSet ds = new DataSet();
da.Fill(ds);
conn.Close();
DropDownList1.DataSource = ds.Tables[0];
DropDownList1.DataTextField="name";
DropDownList1.DataValueField = "id";
DropDownList1.DataBind();
這種高級一點,或許還有一些方法,發(fā)現(xiàn)中;
二、而實際應(yīng)用中,很多時候不是簡單的一個綁定值那么簡單,例如:當(dāng)dropdownlist控件綁定值后,而你又希望指定初始值,就是顯示的值,例子很多就不舉了,下面是自己總結(jié)的幾種方法(只放前后臺主要代碼):
第一種:
前臺代碼:
<asp:DropDownList ID="DropDownList1" runat="server" >
 <asp:ListItem>張三</asp:ListItem>
 <asp:ListItem>李四</asp:ListItem>
</asp:DropDownList>
后臺代碼:
DropDownList1.Item.Inset(0,"李四");//這是插入第一個值為李四;
DropDownList.Items.FindByValue("李四").selected = true;//這是調(diào)用findbyvalue方法指定初始值;
第二種:
前臺代碼:
<asp:DropDownList ID="DropDownList1"runat="server"DataSourceID="SqlDataSource1"DataTextField="name"DataValueField="name">      
                      </asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings: ConnectionString %>"
 SelectCommand="SELECT [name] FROM [yh]"></asp:SqlDataSource>
后臺代碼:
DropDownList1.SelectedValue = "李四"; //使用item方法貌似不行,會提示沒有引入實例錯誤;
第三種:
前臺代碼:前面2種都可以;
后臺代碼:
DropDownList1.SelectedIndex = 1;//通過控件索引來指定,1代表第二個值;
 
其實還有一種,比較經(jīng)常用到,實例說明:(在此直觀的說明)
實例問題:綁定控件的值為id,但顯示為name,同樣首先指定默認(rèn)值,通過選項,修改id;
區(qū)別:默認(rèn)值是通過數(shù)據(jù)庫數(shù)值或傳的數(shù)據(jù)來指定的,而不是指定一個默認(rèn)字符串;
解決方法:
1、前臺代碼:
<asp:DropDownList ID="DropDownList1" runat="server" >
 <asp:ListItem>張三</asp:ListItem>
 <asp:ListItem>李四</asp:ListItem>
</asp:DropDownList>
后臺代碼:
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
       {
          string yhid = Request.Params["userid"].ToString();                   
          DropDownList1.Items.FindByValue(yhid).Selected= true;
}
}//這里只是簡單闡述,如果是從dataset讀出來的值,是一樣的效果;
2、前臺代碼:
<asp:DropDownList ID="DropDownList1"runat="server"DataSourceID="SqlDataSource1"DataTextField="name"DataValueField="id">                            </asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings: ConnectionString %>"
 SelectCommand="SELECT [id] [name] FROM [yh]"></asp:SqlDataSource>
后臺代碼:
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
          string yhid = Request.Params["userid"].ToString();                   
DropDownList1.SelectedValue = yhid; }
}
3、或者可以通過sql語句直接讀取id所對應(yīng)的name,就可以直接使用賦值了:
 
三、DropDownList數(shù)據(jù)綁定第一項為空的方法
DropDownList1.DataSource = ds.Tab
les[0];
DropDownList1.DataTextField="name";
DropDownList1.DataValueField = "id";
DropDownList1.Items.Insert(0,new ListItem());
下面為備注說明:
selectedindex獲得的是選定項的索引,索引值是從0開始.
selectedvalue是所有選擇的值.
selecteditem.value是獲取索引值最小的選定項.如果是多選的情況下,selectedvalue和selecteditem.value就有這么點差別.
selecteditem代表選定項,相當(dāng)于一個對象,這個對象仍然會有其他的屬性,比如checked,Attributes,value,而selectedvalue就是一個值,是一個字符串

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多