c# – 从页脚调用命令时获取转发器项复选框值

c# – 从页脚调用命令时获取转发器项复选框值,第1张

概述通过复选框列表进行以下转发器控制: <asp:Repeater ID="rptItemList" runat="server"><HeaderTemplate></HeaderTemplate><ItemTemplate> <div> <asp:CheckBox ID="chkItem" runat="server" Text='<%# DataBinder.Eval 通过复选框列表进行以下转发器控制:
<asp:Repeater ID="rptItemList" runat="server"><headerTemplate></headerTemplate><ItemTemplate>    <div>        <asp:CheckBox ID="chkItem" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Itemname").ToString() %>' />        <asp:HIDdenFIEld ID="hdItem" runat="server" Value='<%# DataBinder.Eval(Container.DataItem,"ItemID").ToString() %>' />    </div></ItemTemplate><FooterTemplate>    <asp:linkbutton ID="lbtnDel" runat="server" Text="Delete" OnClick="lbtnDel_Click" OnClIEntClick="return confirm('Are you sure you want to delete selected items from this List?')"></asp:linkbutton></FooterTemplate></asp:Repeater>

并按照后面的代码来处理lbtnDel_Click事件:

protected voID lbtnDel_Click(object sender,EventArgs e)    {        foreach (RepeaterItem ri in rptItemList.Items)        {            CheckBox chk = (CheckBox)ri.FindControl("chkItem");            HIDdenFIEld hd = (HIDdenFIEld)ri.FindControl("hdItem");            if (chk.Checked)            {                var tc = new ItemController();                tc.DeleteItem(Convert.ToInt32(hd.Value));            }        }        Response.Redirect(DotNetNuke.Common.Globals.NavigateURL());    }

当我选中一个复选框并单击“删除”时,代码会找到该复选框,但会将其读取为未选中状态,因此不会删除该项目.

有任何想法吗?

解决方法 不是100%肯定,但你是否在每个页面加载中进行数据绑定?尝试仅绑定!IsPostBack 每当我遇到这样的问题时,通常是因为页面加载导致转发器重新绑定并杀死所有当前状态 总结

以上是内存溢出为你收集整理的c# – 从页脚调用命令时获取转发器项复选框值全部内容,希望文章能够帮你解决c# – 从页脚调用命令时获取转发器项复选框值所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

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

原文地址: https://outofmemory.cn/langs/1262041.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存