2011-07-08 26 views
2

我将按钮动态添加到列表视图中,并使用ItemCommand事件来处理使用按钮的CommandName属性的按钮单击事件。它在IE中正常工作,但是当我在Firefox 5中尝试时,它正在打印页面加载事件,但不是ItemCommand事件。是否有适用于Firefox的解决方法?列表视图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; 
    } 
} 
+1

你应该向我们展示您的代码,您将按钮动态添加到ListView以及您在哪里绑定数据。 –

+0

添加代码示例。谢谢! – daniel

回答

2

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

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

在这样ASP.NET将追加必要的客户端脚本在脚本的末尾回传:

__doPostBack('btnAdd','') 
+0

这就是解决方案!谢谢! – daniel