Я искал ответ ТАК, но мой случай, кажется, немного отличается от тех, которые были опубликованы. В моей форме есть Radgrid (корзина) и другие компоненты (например, сводка заказов). Я хочу иметь возможность удалить строку из Radgrid и обновить сводку заказа.
Что я пробовал до сих пор:
- Использовал ItemCommand Radgrid с кнопкой для удаления строки. Это удаляет
строка просто отлично, но не обновляет сводку заказа.
- Использовал свойство кнопки «onclick» для удаления строки и обновления сводки заказа. Это на самом деле не сохраняет обновленную Radgrid (с
строка снята).
- Реализован шаг 1 с помощью кнопки LinkButton. Та же проблема.
- Использовал свойство onclick кнопки, чтобы затем вызвать ItemCommand и удалить строку. Это удаляет строку, но не обновляет сводку.
Я довольно новичок в VB, и я думаю, что происходит, когда строка удаляется с помощью ItemCommand, она обновляет радгрид, но форма не отправляется. Не должен ли button_onclick справиться с этим?
Что я делаю не так? Любая помощь / предложение будет высоко ценится!
Edit:
Вот мой код .aspx:
<asp:LinkButton ID="lnkRemove" OnClick="lnkRemove_Click" OnCommand="CommandEventHandler" CommandName="Delete" runat="server" Text="Remove" />
А вот мой код:
Protected Sub lnkRemove_Click(ByVal sender As Object, ByVal e As EventArgs)
RefreshGrid() 'Refreshes shopping cart grid
OrderSummary.Refresh() 'Not working
End Sub
Protected Sub CommandEventHandler(ByVal sender As Object, ByVal e As CommandEventArgs)
Dim e1 As GridCommandEventArgs = TryCast(e, GridCommandEventArgs)
If Not e1 Is Nothing Then
grdMain_ItemCommand(sender, e1)
End If
End Sub
Protected Sub grdMain_ItemCommand(ByVal sender As Object, ByVal e As GridCommandEventArgs) Handles grdMain.ItemCommand
Dim table As DataTable = CType(ViewState("dtCart"), DataTable)
If e.CommandName = "Delete" Then
Dim index As Integer = e.Item.ItemIndex
table.Rows(index).Delete()
'more code to remove item(s) from radgrid
End Sub