国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

解決DropDownList總是選中第一項的方法

2024-07-10 12:47:48
字體:
來源:轉載
供稿:網(wǎng)友

在網(wǎng)頁開發(fā)的過程中,在頁面中使用了一個 DropDownList 服務器控件,發(fā)現(xiàn)了一個很奇怪的問題,不論在頁面中選中哪一項,在后臺獲取到的值總是第一項的值,看了好久也沒有發(fā)現(xiàn)問題出在哪里,DropDownList控件在開發(fā)中已經(jīng)使用了無數(shù)遍了,對照了其他代碼都是一樣的!

經(jīng)過了幾分鐘之后,實在是看不出問題在哪里只好到網(wǎng)上查找答案,網(wǎng)上果然有不少人遇到“一樣”的問題—— DropDownList 總是選中第一項。網(wǎng)上的解決方法都是說在 DropDownList 綁定時要在 Page_Load 事件要使用 if(!IsPostBack),可是我是這樣綁定的,在網(wǎng)上還是沒有找到解決的方法。

后來,自己靜靜地左思右想,是不是因為自己在綁定DropDownList 的時候,只給Text 賦值,而沒有給 Value 賦值導致的呢?接著我就嘗試把每一項的Value 賦值,果然沒有這樣的現(xiàn)象了!

現(xiàn)在總結 DropDownList 控件總是選中第一項的兩種原因。

情況一,請看下面的代碼:
客戶端代碼:

<asp:DropDownListID="ddl1"runat="server"></asp:DropDownList>

服務端代碼:

protected void Page_Load(object sender, EventArgs e){  BindDropDownList();}  private void BindDropDownList(){  ddl1.Items.Clear(); //每次綁定前,先清除所有項  for (int i = 1; i <= 3; i++)  {    ListItem item1 = new ListItem();    item1.Text = "第" + i.ToString() + "項";    item1.Value = "第" + i.ToString() + "項";    ddl1.Items.Add(item1);  }}

上面代碼案例,也就是網(wǎng)上說的總是選中第一項(選擇不能改變選項),綁定方法寫在 if (!IsPostBack) 里就可以解決了,代碼如下:

protected void Page_Load(object sender, EventArgs e){  if (!IsPostBack)  {    BindDropDownList();  }}

情況二,即是筆者遇到的,請看下面的代碼:
客戶端代碼:

<asp:DropDownList ID="ddl1" runat="server"></asp:DropDownList> <asp:Button ID="btnGet" runat="server" Text="獲取" onclick="btnGet_Click" />

服務端代碼:

protected void Page_Load(object sender, EventArgs e){  if (!IsPostBack)  {    BindDropDownList();  }}  private void BindDropDownList(){  ddl1.Items.Clear(); //每次綁定前,先清除所有項  for (int i = 1; i <= 3; i++)  {    ListItem item1 = new ListItem();    item1.Text = "第" + i.ToString() + "項";    item1.Value = "";    ddl1.Items.Add(item1);  }}  protected void btnGet_Click(object sender, EventArgs e){  string str = ddl1.SelectedItem.Text;  Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "<script>alert('" + str + "');</script>");}

注意 item1.Value 這個地方,是沒有賦值的,然而導致獲取 Text 的值錯亂了,只要給 Value 賦上值就沒有問題了!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 四川省| 芒康县| 磴口县| 苍溪县| 潜江市| 开封县| 射洪县| 阜城县| 十堰市| 顺义区| 新巴尔虎右旗| 普兰店市| 禹城市| 靖江市| 沭阳县| 错那县| 图们市| 西青区| 金寨县| 兴隆县| 衡水市| 清流县| 年辖:市辖区| 呼玛县| 信丰县| 宽城| 青冈县| 佛山市| 盈江县| 澄城县| 昭觉县| 聂拉木县| 晋中市| 商洛市| 贵南县| 当涂县| 神木县| 甘德县| 白水县| 黄石市| 依安县|