日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Asp.net服务器端控件CheckBoxList的使用心得

發布時間:2025/7/25 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Asp.net服务器端控件CheckBoxList的使用心得 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.用JavaScript獲得Asp.net服務器端控件CheckBoxList選中得值

?

Asp.net服務器端控件CheckBoxList在客戶端沒有生成value值,所以就想在客戶端通過JS獲得選中項就很麻煩了。
迫于無奈,只能寫了以下的代碼。比較通用,適合于CheckBoxList的屬性RepeatLayout為Flow和Table,屬性RepeatDirection為Horizontal和Vertical
objID為服務器端控件在客戶端生成的ID

通用版本(不依賴任何類庫)
function GetCheckBoxListValue(objID)
{
??? var v = new Array();
??? var CheckBoxList = document.getElementById(objID);
??? if(CheckBoxList.tagName == "TABLE")
??? {
??????? for(i=0;i<CheckBoxList.rows.length;i++)???
??????????? for(j=0;j<CheckBoxList.rows[i].cells.length;j++)
? if(CheckBoxList.rows[i].cells[j].childNodes[0])
??????????????????? if(CheckBoxList.rows[i].cells[j].childNodes[0].checked==true)
??????????????????????? v.push(CheckBoxList.rows[i].cells[j].childNodes[1].innerText);
??? }
??? if(CheckBoxList.tagName == "SPAN")
??? {
??????? for(i=0;i<CheckBoxList.childNodes.length;i++)
??????????? if(CheckBoxList.childNodes[i].tagName == "INPUT")
??????????????? if(CheckBoxList.childNodes[i].checked==true)
??????????????? {
??????????????????? i++;
??????????????????? v.push(CheckBoxList.childNodes[i].innerText);
??????????????? }???????????
??? }
??? return v;
}

Asp.net Ajax版本(依賴Asp.net Ajax類庫支持)

function GetCheckBoxListValue(objID)
{
??? var v = new Array();
??? var CheckBoxList = $get(objID);
??? if(CheckBoxList.tagName == "TABLE")
??? {
??????? for(i=0;i<CheckBoxList.rows.length;i++)???
??????????? for(j=0;j<CheckBoxList.rows[i].cells.length;j++)
??????????????? if(CheckBoxList.rows[i].cells[j].childNodes[0])
??????????????????? if(CheckBoxList.rows[i].cells[j].childNodes[0].checked==true)
???????????????????????? Array.add(v,CheckBoxList.rows[i].cells[j].childNodes[1].innerText);
??? }
??? if(CheckBoxList.tagName == "SPAN")
??? {
??????? for(i=0;i<CheckBoxList.childNodes.length;i++)
??????????? if(CheckBoxList.childNodes[i].tagName == "INPUT")
??????????????? if(CheckBoxList.childNodes[i].checked==true)
??????????????? {
??????????????????? i++;
??????????????????? Array.add(v,CheckBoxList.childNodes[i].innerText);
??????????????? }???????????
??? }
??? return v;
}

2.判斷CheckBoxList中SelectedIndexChanged事件是哪個checkbox引發的

? private?? static?? bool[]?? arrtmp;????
? private?? void?? Page_Load(object?? sender,?? System.EventArgs?? e)??
? {??
????? //?? 在此處放置用戶代碼以初始化頁面??
????? if(!IsPostBack)??
????? {??
????????? arrtmp=new?? bool[CheckBoxList1.Items.Count];??
????????? for(int?? i=0;i?? <=CheckBoxList1.Items.Count-1;i++)??
????????? {??
????????????? arrtmp[i]=CheckBoxList1.Items[i].Selected;??
????????? }??
????? }??
? }?

//判斷當前觸發的checkbox項的id和是否選中
? private?? void?? CheckBoxList1_SelectedIndexChanged(object?? sender,?? System.EventArgs?? e)??
? {??
????? int?? clicknum;????
????? clicknum=-1;??
????? for(int?? i=0;i?? <=?? CheckBoxList1.Items.Count-1;i++)??
????? {??
????????? if(arrtmp[i]!=CheckBoxList1.Items[i].Selected)??
????????? {??
????????????? arrtmp[i]?? =CheckBoxList1.Items[i].Selected;??
????????????? clicknum=i;??
????????????? break;??
????????? }??
????? }??
????? if(clicknum>=0)??
????? {??
????????? TextBox1.Text=CheckBoxList1.Items[clicknum].ToString();??
????? }????
? }?

3.得到當前所有CheckBoxList選擇的項

protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e)
{
??????? //得到當前所有選擇的項
??????? string Groupid = "";
??????? foreach (ListItem li in ((CheckBoxList)sender).Items)
??????? {
??????????? if (li.Selected)
??????????? {
??????????????? if (Groupid == "")
??????????????? {
??????????????????? Groupid = Groupid + li.Value;
??????????????? }
??????????????? else
??????????????? {
??????????????????? Groupid = Groupid + "," + li.Value;
??????????????? }
??????????? }
??????? }

}

?

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/rmak2008/archive/2009/01/07/3725463.aspx

轉載于:https://www.cnblogs.com/MYGMVP/archive/2009/07/07/1518130.html

總結

以上是生活随笔為你收集整理的Asp.net服务器端控件CheckBoxList的使用心得的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。