一个DataList中绑定checkbox,获得相应值的问题,请指教~~~~~~~~~~

一个DataList中绑定checkbox,获得相应值的问题,请指教~~~~~~~~~~,第1张

循环这个datalist,找到checkbox,并获取她的值
foreach(dataitem item in datalistitems)
{
CheckBox chk = itemfindcontrol("CheckBox4") as CheckBox;
这样就可以获取了;
if(chkselected==true)
{

}
}
代码大体就是这样的。另外把OnCheckedChanged="CheckBox4_CheckedChanged"去掉,如果你没有用的话。这段代码是在button里写的。
希望你可以理解

如果CheckBox处于选中状态,则为True,否则为False。默认值为False
实例:用CheckBox判断用户是否接受条款协议,如果用户没有选择,则不允许用户注册。单击“注册”按钮,触发btnreg_Click(object sender,EventArgs e)事件
protected void btnreg_Click(object sender, EventArgs e)
{
//判断用户是否接受条款协议
if (c1Checked)
{
SqlConnection con = new SqlConnection(ConfigurationManagerConnectionStrings["reg"]ConnectionString);
conOpen();
//定义用户注册的SQL语句
string cmdtex = "insert into users values('" + tnameText + "','" + tpassText + "','" + tmailText + "')";
SqlCommand cmd = new SqlCommand(cmdtex, con);
try
{
cmdExecuteNonQuery();
conClose();
ResponseWrite("<script>alert('注册成功!!')</script>");
}
catch (Exception err)
{
throw new SystemException(errMessage);
}
}
else
{
ResponseWrite("<script>alert('请选择接受条款!!')</script>");
}
}

一般使用复选框都是为了批量 *** 作,,例如批量删除,在批量删除的时候,复选框绑定的是你这条数据的ID (也就是这条数据在数据库开面的ID)然后在对其进行 *** 作,给你段我我批量删除数据的代码吧:

function che() {
var checks = windowdocumentgetElementById("cheks");
if (checkschecked == true) {
chAll();
}
else
RemoveAll();
}
function chAll() {
var selobj = documentgetElementsByName("chek");
for (var i = 0; i < selobjlength; i++) {
selobj[i]checked = true;
}
}
function RemoveAll() {
var selobj = documentgetElementsByName("chek");
for (var i = 0; i < selobjlength; i++) {
selobj[i]checked = false;
}
}
function delectAll(id) {
var items = "";
var selobj = documentgetElementsByName("chek");
for (var i = 0; i < selobjlength; i++) {
if (selobj[i]checked == true) {
items = items + selobj[i]value + ",";
}
}
debugger;
if (itemslength <= 0) {
alert("请选择要退寝的人员!!!");
return false;
}
else {
if (id == "Batch") {
if (confirm("确定退寝吗?")) {
documentgetElementById("iditems")value = items;
return true;
}
}
return false;
}
}
这个是我的js
前台页面:
<asp:LinkButton ID="Batch" runat="server" Font-Underline="false"
OnClientClick='return delectAll(thisid)' CssClass="style" Font-Size="13px"
onclick="Batch_Click">批量退寝</asp:LinkButton>
<asp:HiddenField ID="iditems" runat="server" />//这是一个隐藏域:目的是存储所有选定的值
我用的是gridview控件
<asp:GridView ID="GridRoomOut" runat="server" AutoGenerateColumns="False" Width="100%"
AllowPaging="True" OnPageIndexChanging="GridView1_PageIndexChanging" PageSize="28"
Font-Size="13px" CellPadding="4" ForeColor="#333333" GridLines="None">
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
<Columns>
<asp:TemplateField >
<HeaderTemplate>
//这个是为了实现 全选 和反选的
<input name="cheks" id="cheks" type="checkbox" onclick="che()" />
</HeaderTemplate>
<ItemTemplate>
//这个是绑定数据的ID的
<input name="chek" id="chek" type="checkbox" value='<%#(ConvertToString( Eval("ID"))) %>' />
</ItemTemplate>
</asp:TemplateField>
在后台:
后台删除:
protected void Batch_Click(object sender, EventArgs e)
{
//接受前台隐藏域的值 也就是说前台选中chekbox所绑定的ID值
string idtems = RequestForm["iditems"]ToString()TrimEnd(',');
string time = DateTimeNowDateToShortDateString();
string[] ids = null;
if(idtems!="")
{
ids = idtemsSplit(',');
}
for (int i = 0; i < idsLength; i++)
{
int id = intParse(ids[i]ToString());
if (dalRoomOutUpdate(id,time) > 0)
{
continue;
}
}
ClientScriptRegisterStartupScript(GetType(), "", "alert('退寝成功!'); windowlocationhref = windowlocationhref;", true);
}
不明白的 你可以继续问我 希望能帮到你

用JS,在d出窗口弄一个id为username的对象
documentgetElementById("username")value=
openerdocumentgetElementById("username")value;//引用母窗口的username值
要存进数据库你就在保存的时候把这个username作为参数传到后台就可以了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12856712.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存