获取页面中所有checkbox
由于需要,我是在.aspx.cs中写的<inputtypt=checkbox>然后再页面中调用。请问我怎么获取到所有的checkboxforeach(Controlcon...
由于需要,我是在.aspx.cs中写的<input typt=checkbox>然后再页面中调用。
请问我怎么获取到所有的checkbox
foreach(Control control in Page.Controls)
if (control is HtmlInputCheckBox && ((HtmlInputCheckBox)control).Checked) 不要回答这个,不可行。 展开
请问我怎么获取到所有的checkbox
foreach(Control control in Page.Controls)
if (control is HtmlInputCheckBox && ((HtmlInputCheckBox)control).Checked) 不要回答这个,不可行。 展开
3个回答
展开全部
楼主你为什么不用VS自带的控件呢 非要用HTML
而且你那个是<input type="checkbox" >
如果非要用HTML 控件要让后台访问到必须加入runat="server" 也就是
<input type="checkbox" runat="server" >
还是不明白的话整段代码给你吧
前台代码
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default5.aspx.cs" Inherits="Default5" %>
<!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>
<input type="checkbox" name="checkbox1" value="选择我1" runat="server" />选择我1
<input type="checkbox" name="checkbox2" value="选择我2" checked="checked" runat="server"/>选择我2
<input type="checkbox" name="checkbox3" value="选择我3" runat="server" />选择我3
</div>
</form>
</body>
</html>
后台代码
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
foreach (Control control in this.Form.Controls)
{
if (control is HtmlInputCheckBox && ((HtmlInputCheckBox)control).Checked)
{
Response.Write(((HtmlInputCheckBox)control).Value);
}
}
}
}
我调试过了一定可以的
而且你那个是<input type="checkbox" >
如果非要用HTML 控件要让后台访问到必须加入runat="server" 也就是
<input type="checkbox" runat="server" >
还是不明白的话整段代码给你吧
前台代码
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default5.aspx.cs" Inherits="Default5" %>
<!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>
<input type="checkbox" name="checkbox1" value="选择我1" runat="server" />选择我1
<input type="checkbox" name="checkbox2" value="选择我2" checked="checked" runat="server"/>选择我2
<input type="checkbox" name="checkbox3" value="选择我3" runat="server" />选择我3
</div>
</form>
</body>
</html>
后台代码
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
foreach (Control control in this.Form.Controls)
{
if (control is HtmlInputCheckBox && ((HtmlInputCheckBox)control).Checked)
{
Response.Write(((HtmlInputCheckBox)control).Value);
}
}
}
}
我调试过了一定可以的
更多追问追答
追问
是啊,我也不想啊,首次开始是将大部分的页面代码写在CS文件中,比如分页。分页中当然也包括信息。在页面中就完事了。但是现在要在每条信息前加checkbox,我只能如此了。而且加了runat之后还是不行。费解
追答
你按照我上面的代码试一下 我调试了可以的
展开全部
通过jquery过滤器:checked方式获取所有选中的checkbox
1、定义页面checkbox框
<body>
<input type='checkbox'/>
<input type='checkbox'/>
<input type='checkbox'/>
</body>
2、通过jquery过滤器选择选中的checkbox
var chks=$("input:checked");//获取所有选中的checkbox,chks是一个元素数组
3、通过chks的长度知道多少被选中
var len = chks.length;//选中的checkbox数量
1、定义页面checkbox框
<body>
<input type='checkbox'/>
<input type='checkbox'/>
<input type='checkbox'/>
</body>
2、通过jquery过滤器选择选中的checkbox
var chks=$("input:checked");//获取所有选中的checkbox,chks是一个元素数组
3、通过chks的长度知道多少被选中
var len = chks.length;//选中的checkbox数量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#region //循环页面所有空间找出CheckBox
for (int i = 0; i < page.Controls.Count; i++)
{
if (page.Controls[i].ToString() == "System.Web.UI.HtmlControls.HtmlForm")
{
for (int j = 0; j < page.Controls[i].Controls.Count; j++)
{
if (page.Controls[i].Controls[j].GetType() == typeof(CheckBox))//判断是否为CheckBox
{
}
}
}
}
#endregion
for (int i = 0; i < page.Controls.Count; i++)
{
if (page.Controls[i].ToString() == "System.Web.UI.HtmlControls.HtmlForm")
{
for (int j = 0; j < page.Controls[i].Controls.Count; j++)
{
if (page.Controls[i].Controls[j].GetType() == typeof(CheckBox))//判断是否为CheckBox
{
}
}
}
}
#endregion
追问
老大,你这和我那个差不多,关键问题是在于Page.Controls找不到我在cs里写的input
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询