在服务器端得到CheckBoxList控件最后选择项的方法
来源:互联网 发布:手机维修软件有哪些 编辑:程序博客网 时间:2024/05/23 17:19
探讨这个问题的起因是CSDN论坛的一个帖子:
http://community.csdn.net/Expert/TopicView.asp?id=5460832
查看客户端生成的HTML代码可以看出,每次点击都执行一次__doPostBack,并且将选择项的参数传递到隐藏表单域之中。 当然,通过脚本和自己的隐藏域可以很轻松得到选择项,但完全在服务器端,也可以得到。
<form name="MengXianhui" method="post" action="a.aspx?ddfg" id="MengXianhui">
<input type="hidden" name="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" value="dDw0NjI1MDk1MzQ7O2w8Q2hlY2tCb3hMaXN0MTowO0NoZWNrQm94TGlzdDE6MTtDaGVja0JveExpc3QxOjI7Q2hlY2tCb3hMaXN0 MTozO0NoZWNrQm94TGlzdDE6NDtDaGVja0JveExpc3QxOjQ7Pj6h9p2gvuU8iLKlA4DU0GtLAoZhCw==" />
<script language="javascript" type="text/javascript">
<!--
function __doPostBack(eventTarget, eventArgument) {
var theform;
if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1) {
theform = document.MengXianhui;
}
else {
theform = document.forms["MengXianhui"];
}
theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
theform.__EVENTARGUMENT.value = eventArgument;
theform.submit();
}
// -->
</script>
<div style="padding:20px">
<table id="CheckBoxList1" border="0">
<tr>
<td><input id="CheckBoxList1_0" type="checkbox" name="CheckBoxList1:0" onclick="__doPostBack('CheckBoxList1$0','') " language="javascript" /><label for="CheckBoxList1_0">a</label></td>
</tr><tr>
<td><input id="CheckBoxList1_1" type="checkbox" name="CheckBoxList1:1" onclick="__doPostBack('CheckBoxList1$1','')" language="javascript" /><label for="CheckBoxList1_1">b</label></td>
</tr><tr>
<td><input id="CheckBoxList1_2" type="checkbox" name="CheckBoxList1:2" checked="checked" onclick="__doPostBack('CheckBoxList1$2','') " language="javascript" /><label for="CheckBoxList1_2">c</label></td>
</tr><tr>
<td><input id="CheckBoxList1_3" type="checkbox" name="CheckBoxList1:3" checked="checked" onclick="__doPostBack('CheckBoxList1$3','')" language="javascript" /><label for="CheckBoxList1_3">d</label></td>
</tr><tr>
<td><input id="CheckBoxList1_4" type="checkbox" name="CheckBoxList1:4" onclick="__doPostBack('CheckBoxList1$4','') " language="javascript" /><label for="CheckBoxList1_4">e</label></td>
</tr>
</table>
</div>
</form>
<input type="hidden" name="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" value="dDw0NjI1MDk1MzQ7O2w8Q2hlY2tCb3hMaXN0MTowO0NoZWNrQm94TGlzdDE6MTtDaGVja0JveExpc3QxOjI7Q2hlY2tCb3hMaXN0 MTozO0NoZWNrQm94TGlzdDE6NDtDaGVja0JveExpc3QxOjQ7Pj6h9p2gvuU8iLKlA4DU0GtLAoZhCw==" />
<script language="javascript" type="text/javascript">
<!--
function __doPostBack(eventTarget, eventArgument) {
var theform;
if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1) {
theform = document.MengXianhui;
}
else {
theform = document.forms["MengXianhui"];
}
theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
theform.__EVENTARGUMENT.value = eventArgument;
theform.submit();
}
// -->
</script>
<div style="padding:20px">
<table id="CheckBoxList1" border="0">
<tr>
<td><input id="CheckBoxList1_0" type="checkbox" name="CheckBoxList1:0" onclick="__doPostBack('CheckBoxList1$0','') " language="javascript" /><label for="CheckBoxList1_0">a</label></td>
</tr><tr>
<td><input id="CheckBoxList1_1" type="checkbox" name="CheckBoxList1:1" onclick="__doPostBack('CheckBoxList1$1','')" language="javascript" /><label for="CheckBoxList1_1">b</label></td>
</tr><tr>
<td><input id="CheckBoxList1_2" type="checkbox" name="CheckBoxList1:2" checked="checked" onclick="__doPostBack('CheckBoxList1$2','') " language="javascript" /><label for="CheckBoxList1_2">c</label></td>
</tr><tr>
<td><input id="CheckBoxList1_3" type="checkbox" name="CheckBoxList1:3" checked="checked" onclick="__doPostBack('CheckBoxList1$3','')" language="javascript" /><label for="CheckBoxList1_3">d</label></td>
</tr><tr>
<td><input id="CheckBoxList1_4" type="checkbox" name="CheckBoxList1:4" onclick="__doPostBack('CheckBoxList1$4','') " language="javascript" /><label for="CheckBoxList1_4">e</label></td>
</tr>
</table>
</div>
</form>
在服务器端得到选择项的做法是分析事件的参数,通过提交过来的事件参数得到。代码如下:
<%@ Page Language="C#" AutoEventWireup="true" EnableViewState="false" Debug="true" % >
<!DOCTYPE html PUBLIC " -//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- transitional.dtd">
<script runat="server">
void BoxList1_SelectedIndexChanged(object sender, System.EventArgs e)
{
//得到触发事件的选择项
string ClickedItem = Request.Form["__EVENTTARGET"];
ClickedItem = ClickedItem.Split(':')[1];
int index = Int32.Parse(ClickedItem );
Response.Write(CheckBoxList1.Items [index].Text);
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>在服务器端得到CheckBoxList 最好所选择项的方法</title>
</head>
<body>
<form id="MengXianhui" runat="server">
<div style="padding:20px">
<asp:CheckBoxList AutoPostBack="true" ID="CheckBoxList1" runat="server"
OnSelectedIndexChanged="BoxList1_SelectedIndexChanged">
<asp:ListItem Value="1">a</asp:ListItem>
<asp:ListItem>b</asp:ListItem>
<asp:ListItem>c</asp:ListItem>
<asp:ListItem>d</asp:ListItem>
<asp:ListItem>e</asp:ListItem>
</asp:CheckBoxList>
</div>
</form>
</body>
</html>
<!DOCTYPE html PUBLIC " -//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- transitional.dtd">
<script runat="server">
void BoxList1_SelectedIndexChanged(object sender, System.EventArgs e)
{
//得到触发事件的选择项
string ClickedItem = Request.Form["__EVENTTARGET"];
ClickedItem = ClickedItem.Split(':')[1];
int index = Int32.Parse(ClickedItem );
Response.Write(CheckBoxList1.Items [index].Text);
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>在服务器端得到CheckBoxList 最好所选择项的方法</title>
</head>
<body>
<form id="MengXianhui" runat="server">
<div style="padding:20px">
<asp:CheckBoxList AutoPostBack="true" ID="CheckBoxList1" runat="server"
OnSelectedIndexChanged="BoxList1_SelectedIndexChanged">
<asp:ListItem Value="1">a</asp:ListItem>
<asp:ListItem>b</asp:ListItem>
<asp:ListItem>c</asp:ListItem>
<asp:ListItem>d</asp:ListItem>
<asp:ListItem>e</asp:ListItem>
</asp:CheckBoxList>
</div>
</form>
</body>
</html>
- 在服务器端得到CheckBoxList控件最后选择项的方法
- 在服务器端得到CheckBoxList控件最后选择项的方法
- 在服务器端得到CheckBoxList控件最后选择项的方法!
- 在服务器端得到CheckBoxList控件最后选择项的方法
- Asp.net服务器端控件CheckBoxList的使用心得
- 学习笔记9 CheckBoxList 得到值和赋值的方法
- checkboxlist控件的使用
- CheckBoxList控件的使用
- .net客户端得到服务器端控件方法(服务器端控件触发客户端事件)
- asp.net中checkboxlist判断至少选择一项的方法
- 用JavaScript获取Asp.net服务器端控件CheckBoxList的选中值数组
- 用JavaScript获取Asp.net服务器端控件CheckBoxList的选中值数组
- 用JavaScript获取Asp.net服务器端控件CheckBoxList的选中值数组
- 用JavaScript获取Asp.net服务器端控件CheckBoxList的选中值数组
- 用JavaScript获取Asp.net服务器端控件CheckBoxList的选中值数组
- 用JavaScript获取Asp.net服务器端控件CheckBoxList的选中值数组
- ASP.NET服务器端控件RadioButtonList,DropDownList,CheckBoxList的取值、赋值用法
- 在C#得到指定日期所在周的第一天与最后一天的方法
- EJB3.0 依赖注入
- 在.NET中杀死Word,Excel等进程
- 从一个HTML返回所有的图片链接
- 在.NET中利用XMLHTTP下载文件
- LCC编译器的源程序分析(56)寄存器分配的属性结构
- 在服务器端得到CheckBoxList控件最后选择项的方法
- 七个好的习惯
- C++的4种类型转换
- PreparedStatement处理批量SQL时,不支持SELECT常量内容(包括一些外面数据要作为参数SELECT)
- 【CSS技巧】新标准带来的新问题
- 不经保存,直接读取上传文件的内容
- 计算机系统漫游
- MFC的子类化技术
- XmlReader 读取器读取内存流 MemoryStream 的注意事项