【问题标题】:Listview ItemCommand not firing because of jquery由于 jquery,Listview ItemCommand 未触发
【发布时间】:2013-05-23 08:27:55
【问题描述】:

我有一个带有复选框(类别过滤器)的类别listview。但我做了一个自定义复选框(带有css的linkBut​​ton是我的复选框)。

<asp:LinkButton CssClass="checkBox" runat="server">

.checkbox {background: url('/style/images/checkbox.png') no-repeat top left;width:9px;height:9px;text-decoration:none;
.checked {background: url('/style/images/selected_checkbox.png') no-repeat top left;}

并且在 jQuery 中的链接按钮上准备好文档(我的自定义复选框单击)我 更改 css(添加选中的类)

$(".filter-select .checkbox").click(function () {
            if ($(this).hasClass('checked'))
                $(this).removeClass('checked');
            else $(this).addClass('checked');

            return false;
        });

一切正常,但是当我想处理 listview itemCommand 上的已检查 chekcbox 时,itemCommand 不会触发...如果我删除 jquery 调用,一切正常,所以我认为 jquery 会阻塞或阻止 itemCommand 在单击链接按钮时触发。

但是我需要调用这个 itemCommand,我该怎么办?我是否应该使用 jQuery 删除/更改拥有此复选框的方式。还是我错过了什么...我也尝试过 OnClientClick="this.disabled='true';" 我看到的是其他帖子,但是没有结果..

【问题讨论】:

  • 我认为在这种情况下您应该手动调用 dopostback() .. 因为您已经拦截了 asp.net 生成代码的正常功能.. 或删除 return false
  • 如果我删除 return false,itemCommand 被触发,但 linkBut​​ton 控件的 css 没有改变......也许我应该考虑用别的东西改变这个 jQuery CSS 思考 - 也许我应该改变这个在 itemCommand 中而不是在 jQuery 中的 css
  • hmm... 实际上,如果您不使用 ajax,那么当 itemCommand 被触发然后当它返回时,它会重新呈现您的整个页面。在这种情况下,没有机会应用上述样式。
  • 您应该在 $(document).ready() 中编写代码并将样式应用于所需的复选框。那么它可以解决你的问题。如果您使用 ajax 发布到服务器,上述解决方案将起作用。在整页 postback() 中,这根本不起作用。

标签: jquery asp.net .net css


【解决方案1】:

好的,我已经改变了我的方法并删除了 jQuery thinkg...我把所有东西都放在了 ItemCommand 方法中,所以我在 itemCommand 中得到了控制,就像

LinkButton selected = e.Item.FindControl("id") as LinkButton;

然后我检查如下类:

selected.CssClass = (selected.CssClass != "checkbox checked") ? "checkbox checked" : "checkbox";

然后我检查所有选中的链接按钮(自定义复选框)

所以不需要 jQuery 中断。感谢您的帮助

【讨论】:

  • 我希望我的解决方案没问题......我还将使用 updatePanel 来防止 itemCommand 火灾的完整回发,就是这样......如果我错了,请纠正我。但现在一切正常,我可以更改 css 并通过 dataKeyNames 获取 id,所以我找到了我的解决方案。
  • 这也不错..你在那里使用更新面板吗?
  • 是的,我会阻止复选框状态更改的完整回发...感谢Spiral Whirls的帮助..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多