Кнопка Linkbutton не отвечает после первого нажатия

#vb.net #google-chrome #linkbutton #asplinkbutton

#vb.net #google-chrome #кнопка linkbutton #asplinkbutton

Вопрос:

У меня есть кнопка linkbutton, которая работает нормально только один раз, второй щелчок не отвечает в Chrome, но он работает в Internet Explorer. Это происходит только в моей производственной среде, но разработчик работает нормально.

Во время отладки я могу сказать, что это не доходит до моего linkEdit_Click подраздела.

Я попробовал, EnableViewState="false" и это не сработало.

Я изменил способ linkEdit_Click вызова, используя CommandArgument в gridview и изменив OnClick for OnCommand .

В DevTools я замечаю ошибку 403 forbidden при втором нажатии, но я не знаю, как это исправить

Мой код выглядит примерно так:

 <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
  

Ответ №1:

В HTML-коде ASP измените на ‘CommandName’ вместо OnClick, потому что вы используете свойство LinkButton.

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

Codebehind используйте эту функцию для запуска команды.

 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
  

Комментарии:

1. Привет, спасибо за ответ. К сожалению, это тоже не сработало. То же самое, работает один раз, а затем второй щелчок делает UpdateProgress, останавливается, и ничего.

2. @Zendik73 Привет, при отладке в chrome dev tools, какое сообщение об ошибке появляется на вкладке консоль и вкладке сеть. Не могли бы вы обновить это для меня?