链接按钮在第一次单击后不响应

问题描述 投票:0回答:1

我有一个只能工作一次的链接按钮,第二次点击在Chrome中没有响应,但它在Internet Explorer中有效。这只发生在我的生产环境中,但开发工作正常。

在调试时,我可以说它没有到达我的linkEdit_Click Sub。

我尝试使用EnableViewState="false"但它没有用。

我已经改变了如何调用linkEdit_Click的方式,在gridview中使用CommandArgument并为OnClick更改OnCommand

在DevTools中,我注意到第二次单击时出现403禁止错误,但我不知道如何修复它

我的代码是这样的:

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">        
    <ContentTemplate>
        <asp:GridView ID="grid1>
            <Columns>
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:LinkButton ID="linkEdit" runat="server" 
                         Text="Update" OnClick="linkEdit_Click" CausesValidation="false">
                       </asp:LinkButton>
                    </ItemTemplate>
                </asp:TemplateField>                    
            </Columns>
        </asp:GridView>
    </ContentTemplate>        
</asp:UpdatePanel>

代码背后:

Protected Sub linkEdit_Click(sender As Object, e As EventArgs)            
    _presenter.Edit(sender)            
End Sub
vb.net google-chrome linkbutton asplinkbutton
1个回答
0
投票

ASP HTML代码,因为您使用的是LinkBut​​ton属性,所以更改为'CommandName'而不是OnClick。

<asp:LinkButton ID="linkEdit" runat="server" Text="Update" CommandName="edit" CausesValidation="false">

Codebehind使用此函数来触发Command。

Private Sub grid1_rowEditing(Byval sender as Object, Byval e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles grid1.RowEditing
  grid1.EditIndex = e.NewEditIndex
End Sub


Private Sub grid1_RowCommand(byval sender as Object, Byval e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles grid1.RowCommand
  if e.CommandName = "edit" Then
    '' Do something here
  end if
end sub
© www.soinside.com 2019 - 2024. All rights reserved.