c# - ListView ItemCommand 事件未在 Firefox 中触发

标签 c# events firefox listview itemcommand

我动态地将按钮添加到 ListView ,并使用 ItemCommand 事件处理按钮单击事件,使用按钮的 CommandName 属性。它在 IE 中运行良好,但当我在 Firefox 5 中尝试时,它会触发页面加载事件而不是 ItemCommand 事件。 Firefox 有解决方法吗?

谢谢!

<asp:ListView ID="lvItems" runat="server" OnItemDataBound="lvItems_ItemDataBound"
            DataSourceID="odsItems" OnItemCommand="lvItems_ItemCommand" DataKeyNames="ItemID"
            OnDataBound="lvItems_DataBound" OnPagePropertiesChanging="lvItems_PagePropertiesChanging">
            <LayoutTemplate>
                            <div id="itemPlaceholder" runat="server">
                            </div>
            </LayoutTemplate>
            <ItemTemplate>
                            <div>
                                            <asp:Label ID="lbl" runat="server">
                                            </asp:Label>
                                            <asp:Button ID="btnAdd" runat="server" CommandName="Add" Text="Add" OnClientClick="this.disabled=true;" />
                            </div>
            </ItemTemplate>
            <EmptyDataTemplate>
                            No items found for the selected filters. Please try again.<br />
                            <br />
            </EmptyDataTemplate>
</asp:ListView>


protected void lvItems_ItemCommand(object sender,ListViewCommandEventArgs e) 
{
if (e.CommandName == "Add")
    {  
        //code here; 
    }
}

最佳答案

你必须设置 UseSubmitBehaviourfalse,因为在客户端禁用按钮将取消浏览器提交。顺便说一下,在 IE 中是完全一样的。

<asp:Button ID="btnAdd" runat="server" CommandName="Add" Text="Add"
   UseSubmitBehavior="false" OnClientClick="this.disabled='true';" />

通过这种方式,ASP.NET 将在脚本末尾附加必要的客户端脚本以回发:

__doPostBack('btnAdd','')

关于c# - ListView ItemCommand 事件未在 Firefox 中触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6629066/

相关文章:

c# - 与 SharePoint 列表版本控制和 C# 交互

c# - 计算随机字符串中的英文单词

c# - LINQ Enumerable 查询返回副本还是引用?

javascript - 如何获取上一个文本区域元素

html - 为什么百分比填充/边距不适用于 Firefox 和 Edge 中的 flex 元素?

c# - 如何根据路径向 JSON 添加新的 JProperty?

Android:如何从警报对话框启动 Activity

javascript - 如何使用/创建 MANIFEST、处理 appCache 事件/错误以及使用 swapCache

javascript - 在 Firefox 中注入(inject) Javascript

firefox - 在触发 Firefox 附加 SDK 扩展禁用/删除操作后清理 DOM