首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

怎么判断checkbox 是否被选中C

2012-08-28 
如何判断checkbox 是否被选中C#asp:Repeater IDFP_SearchEvent_List runatserverItemTemplatei

如何判断checkbox 是否被选中C#
<asp:Repeater ID="FP_SearchEvent_List" runat="server">
  <ItemTemplate>
  <input name="sTitle" id="sTitle" value="<%#DataBinder.Eval(Container.DataItem, "title%>" />
  <input type="checkbox" name='chkId' id='chkId'/>

  </ItemTemplate>
</asp:Repeater ID="FP_SearchEvent_List" runat="server">


在Repeater 中有一个checkbox 复选框,现在我要通 
request.Form.GetValues("chkId"); 这种方式来判断是否为被选中了,可是总是为空不知道什么原因

可是通过以下方式可以获取到title 的值
string[] strTitle = request.Form.GetValues("sTitle");

我要如何才能判断到这个复选框是否被选中呢,谢谢!

[解决办法]
循环item读取

HTML code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">    <title>无标题页</title></head><body>    <form id="form1" runat="server">    <div>        <table style="border-collapse: collapse;" border="1">            <tr>                <th>                </th>                <th>                    员工号                </th>                <th>                    员工姓名                </th>            </tr>            <asp:Repeater ID="Repeater1" runat="server">                <ItemTemplate>                    <tr>                        <td>                            <asp:CheckBox ID="CB" runat="server" />                        </td>                        <td>                            <asp:Literal ID="Literal1" runat="server" Text='<%#Eval("EmpID") %>'></asp:Literal>                        </td>                        <td>                            <%#Eval("EmpName") %>                        </td>                    </tr>                </ItemTemplate>            </asp:Repeater>        </table>        <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />    </div>    </form></body></html>
[解决办法]
C# code
 RepeaterItem item = chksReg.NamingContainer as RepeaterItem;            CheckBox checkBox = item.FindControl("chksAllRegion") as CheckBox;            if (checkBox.Checked)            {                for (int i = 0; i < chksReg.Items.Count; i++)                {                    if (!chksReg.Items[i].Selected)                    {                        checkBox.Checked = false;                        break;                    }                }            }
[解决办法]
运行页面,然后你可以查看页面的源代码文件,看看那个checkbox的name属性,然后用这个name看行不行。
[解决办法]
在它的属性有个返回的事件的吧
[解决办法]
for (int i = 0; i < this.cklContext.Items.Count; i++)
{
if (this.cklContext.Items[i].Selected == true)
{
list += this.cklContext.SelectedItem.Value;
this.cklContext.Items[i].Selected = false;
}
}
------解决方案--------------------


探讨
C# code

RepeaterItem item = chksReg.NamingContainer as RepeaterItem;
CheckBox checkBox = item.FindControl("chksAllRegion") as CheckBox;
if (checkBox.Checked)
……

热点排行