复选框服务器/客户端事件

编程入门 行业动态 更新时间:2024-10-25 14:28:58
本文介绍了复选框服务器/客户端事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我在转发器控件中有一个复选框.在更改它的位值时,它应该像您希望删除一样提示警报消息?如果选择是,则应触发onselectedchange服务器事件.

I have a checkbox in repeater control. on changing it's bit value, it should prompt the alert message like do u wish to delete? and if yes is selected, the onselectedchange server event should be fired.

现在.单击复选框后,我正在使用onclick事件触发提示,但无法触发服务器事件.

Right now. on clicking the checkbox i am using onclick event to fire the prompt but it is not able to fire the server event.

这是我的代码

<script language="javascript" type="text/javascript"> function CheckedChange() { if (confirm('Are you sure you want to delete?')) return true; else return false; } </script> <asp:Repeater ID="repQuestion" runat="server" onitemcommand="repQuestion_ItemCommand" onitemdatabound="repQuestion_ItemDataBound"> <ItemTemplate> <table width="100%" cellspacing="0" cellpadding="0"> <tr> <td> <asp:CheckBox onclick="return CheckedChange();" ID="delete" runat="server" Checked='<%#DataBinder.Eval(Container.DataItem, "IsDeleted")%>' OnCheckedChanged="chkdelete_Click" /> </td> </tr> </table> </ItemTemplate> </asp:Repeater>

推荐答案

解决此代码段.

中继器.

<asp:Repeater ID="Repeater1" runat="server"> <ItemTemplate> <table> <tr> <td><%# Eval("Index") %></td> <td> <asp:CheckBox ID="delete" runat="server" AutoPostBack="true" Checked='<%# Convert.ToBoolean(Eval("IsDeleted")) %>' Enabled='<%# !Convert.ToBoolean(Eval("IsDeleted")) %>' OnCheckedChanged="chkdelete_Click" onclick="javascript:return CheckedChange(this)"/> </td> </tr> </table> </ItemTemplate> </asp:Repeater>

JavaScript

JavaScript

function CheckedChange(objCheckBox) { if (confirm('Are you sure you want to delete?')) { __doPostBack("'" + objCheckBox.id + "'", ''); return true; } else { objCheckBox.checked = false; return false; } }

Page_Load事件

Page_Load Event

protected void Page_Load(object sender, EventArgs e) { try { if (!IsPostBack) { //bind gridview here DataTable dataTable = new DataTable { Columns = { "Index", { "IsDeleted", typeof(bool) } } }; bool temp = true; for (var i = 0; i < 6; i++) { dataTable.Rows.Add((i + 1).ToString(), temp); temp = !temp; } Repeater1.DataSource = dataTable; Repeater1.DataBind(); } } catch (Exception exception) { //Elmah.ErrorSignal.FromCurrentContext().Raise(exception); } }

好吧,我个人不喜欢公开 __ doPostBack ,但这在这种情况下似乎是唯一的方法.

Well, I don't personally like exposing the __doPostBack but this seems to be the only way in this case.

在不相关的旁注中,如果要显示已删除的项目,最好将它们显示为禁用.

On an unrelated side note, if you are showing deleted items, its better to show them disabled.

更多推荐

复选框服务器/客户端事件

本文发布于:2023-10-12 23:17:35,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1486163.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:复选框   客户端   事件   服务器

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!