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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

关于CheckBoxList和RadioButtonList的几个问题

發布時間:2025/3/15 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于CheckBoxList和RadioButtonList的几个问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
其實我一向很少用關于"list"的控件,因為有DataGrid就基本上都搞定了,然而一方面是為了學習,另一方面也可以靈活的應用更多的控件,于是采用了其中的幾個控件,但沒想到結果令我大失所望。。。。

  先看看DataList控件,它的使用最郁悶的是不能在IDE環境里綁定數據,而只能用模板(不知道是不是我沒學會)。
????????????????????<asp:DataList?id="DataList1"?runat="server"?Width="100%"?Visible="False"?CssClass="s_verdana"
????????????????????????RepeatDirection
="Horizontal"?ForeColor="Black"?BorderColor="#999999"?BorderStyle="Solid"?BackColor="Silver"
????????????????????????CellPadding
="1"?GridLines="Vertical"?BorderWidth="1px"?RepeatColumns="4"?DataKeyField="c_id">
????????????????????????
<SelectedItemStyle?Font-Bold="True"?ForeColor="White"?BackColor="#000099"></SelectedItemStyle>
????????????????????????
<AlternatingItemStyle?BackColor="#CCCCCC"></AlternatingItemStyle>
????????????????????????
<ItemTemplate>
????????????????????????????
<asp:CheckBox?Runat="server"?Text='<%#?DataBinder.Eval(Container,?"DataItem.c_loginName")%>'>
????????????????????????????
</asp:CheckBox>
????????????????????????
</ItemTemplate>  數據綁定: ????????????this.DataList1.DataSource????=?m_table.DefaultView;
????????????
this.DataList1.DataKeyField????=?"c_id";
????????????
this.DataList1.DataBind();  看上去和DataGrid一樣不是嗎?可問題是:這里我這里使用了CheckBox,也就是說用戶到時候要選擇其中的部份數據,然后提交回來,結果是:你很難得在DataGrid里取回綁定的數據列。。。。。

  再看RadioButtonList:
????????????????<asp:RadioButtonList?id="RadioButtonList_MsgType"?runat="server"?Width="440px"?RepeatDirection="Horizontal"
????????????????????CssClass
="s_verdana">
????????????????????
<asp:ListItem?Value="0"?Selected="True">All</asp:ListItem>
????????????????????
<asp:ListItem?Value="1">All?Client</asp:ListItem>
????????????????????
<asp:ListItem?Value="2">All?Users</asp:ListItem>
????????????????????
<asp:ListItem?Value="3">Sperical</asp:ListItem>
????????????????
</asp:RadioButtonList>  這里我只使用了靜態的數據,因為這里并沒有很多的數據顯示。但有一點小問題:我想在上面加一個JavaScript事件,用來響應用戶操作,于是我在后臺添加代碼:
????????private?void?RadioButtonList_MsgType_Load(object?sender,?System.EventArgs?e)
????????
{
????????????RadioButtonList m_obj?= sender as RadioButtonList;
????????????m_obj.Attributes.Add("onclick","alert()");
????????}
  讓我郁悶不以的是:::它并沒有在radio添加Onclick事件,查看HTML源代碼,差點沒把我氣死:原來它生成了一個Table,而這個RadioButtonList就是這個Table,而里面的Radio就是行與列了。 <table id="Inc_Admin_MsgManager1_Inc_WAVE_Messages1_RadioButtonList_MsgType" class="s_verdana" οnclick="alert()" border="0" style="width:440px;">
????<tr>
????????
<td><input?id="Inc_Admin_MsgManager1_Inc_WAVE_Messages1_RadioButtonList_MsgType_0"?type="radio"?name="Inc_Admin_MsgManager1:Inc_WAVE_Messages1:RadioButtonList_MsgType"?value="0"?/><label?for="Inc_Admin_MsgManager1_Inc_WAVE_Messages1_RadioButtonList_MsgType_0">All</label></td><td><input?id="Inc_Admin_MsgManager1_Inc_WAVE_Messages1_RadioButtonList_MsgType_1"?type="radio"?name="Inc_Admin_MsgManager1:Inc_WAVE_Messages1:RadioButtonList_MsgType"?value="1"?/><label?for="Inc_Admin_MsgManager1_Inc_WAVE_Messages1_RadioButtonList_MsgType_1">All?Client</label></td><td><input?id="Inc_Admin_MsgManager1_Inc_WAVE_Messages1_RadioButtonList_MsgType_2"?type="radio"?name="Inc_Admin_MsgManager1:Inc_WAVE_Messages1:RadioButtonList_MsgType"?value="2"?/><label?for="Inc_Admin_MsgManager1_Inc_WAVE_Messages1_RadioButtonList_MsgType_2">All?Users</label></td><td><input?id="Inc_Admin_MsgManager1_Inc_WAVE_Messages1_RadioButtonList_MsgType_3"?type="radio"?name="Inc_Admin_MsgManager1:Inc_WAVE_Messages1:RadioButtonList_MsgType"?value="3"?checked="checked"?/><label?for="Inc_Admin_MsgManager1_Inc_WAVE_Messages1_RadioButtonList_MsgType_3">Sperical</label></td>
????
</tr>
</table>  這也算了,如果非要這樣用也行,可以在它的子控件里再添加事件,這樣可是麻煩多了。看看CheckBoxList,原理也一樣,也就不多說了。
  回到DataList上來,看它如果用CheckBox來取回數據吧,先把所有的子控件都列出來: ????????private?void?AddMessageRelations()
????????
{
????????????
if(this.RadioButtonList_MsgType.SelectedIndex<3)?return;
????????????CheckBox?m_checkBox;
????????????
for(int?i=0;i<this.DataList1.Items.Count;i++)
????????????
{
//????????????????m_checkBox?=?this.DataList1.Items[i].Controls[0]?as?CheckBox;
//????????????????if(m_checkBox.Checked)
//????????????????{
//????????????????????Response.Write(m_checkBox.Text);
//????????????????}
????????????????Response.Write("i="+i.ToString()+":"+this.DataList1.Items[i].ToString()+"<br/>");
????????????????
for(int?j=0;j<this.DataList1.Items[i].Controls.Count;j++)
????????????????
{
????????????????????Response.Write(
"j="+j.ToString()+":"+?this.DataList1.Items[i].Controls[j].ToString()+"<br/>");
????????????????}

????????????????Response.Write(
"<br>==================================<br>");
????????????}

????????}
  看看結果:
 
  好了,清楚是怎么回事了就好辦了。以下代碼取得用戶選定CheckBox的ID值。 ????????private?void?AddMessageRelations()
????????
{
????????????
if(this.RadioButtonList_MsgType.SelectedIndex<3)?return;
????????????CheckBox?m_checkBox;
????????????
for(int?i=0;i<this.DataList1.Items.Count;i++)
????????????
{
????????????????m_checkBox?
=?this.DataList1.Items[i].Controls[1]?as?CheckBox;
????????????????
if(m_checkBox.Checked)
????????????????
{
????????????????????Response.Write(
this.DataList1.DataKeys[i].ToString()+":"+m_checkBox.Text+"<br>");
????????????????}

//????????????????Response.Write("i="+i.ToString()+":"+this.DataList1.Items[i].ToString()+"<br/>");
//????????????????for(int?j=0;j<this.DataList1.Items[i].Controls.Count;j++)
//????????????????{
//????????????????????Response.Write("j="+j.ToString()+":"+?this.DataList1.Items[i].Controls[j].ToString()+"<br/>");
//????????????????}
//????????????????Response.Write("<br>==================================<br>");
????????????}

????????}

  

轉載于:https://www.cnblogs.com/WuCountry/archive/2006/02/09/327746.html

總結

以上是生活随笔為你收集整理的关于CheckBoxList和RadioButtonList的几个问题的全部內容,希望文章能夠幫你解決所遇到的問題。

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