【问题标题】:Delete row from Radgrid and refresh page从 Radgrid 中删除行并刷新页面
【发布时间】:2019-04-13 11:58:31
【问题描述】:

我已经到处寻找答案,但我的情况似乎与发布的情况有些不同。我的表单上有一个 Radgrid(购物车)以及其他组件(例如订单摘要)。我希望能够从 radgrid 中删除一行并刷新订单摘要。

到目前为止我所尝试的:

  1. 使用带有按钮的 Radgrid 的 ItemCommand 来删除行。这删除 该行很好,但不会刷新订单摘要。
  2. 使用按钮的“onclick”属性删除行并刷新订单摘要。这实际上并没有保存更新的 radgrid(使用 删除的行)。
  3. 使用 LinkBut​​ton 实现了第 1 步。同样的问题。
  4. 使用按钮的 onclick 属性调用 ItemCommand 并删除该行。这会删除该行,但不会刷新摘要。

我对 VB 相当陌生,我认为正在发生的事情是当使用 ItemCommand 删除行时,它正在更新 radgrid,但表单没有提交。 button_onclick 不应该处理吗?

我做错了什么?任何帮助/建议将不胜感激!

编辑:

这是我的 .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

【问题讨论】:

  • 我通过在表单上添加另一个按钮“更新订单”解决了这个问题,然后将页面发布回服务器并刷新订单摘要。我让这种方式变得比本来应该的更复杂。

标签: javascript asp.net vb.net postback radgrid


【解决方案1】:

您能否提供一些代码,以便我可以为您提供帮助。因为如果您写下您是否完成了它并没有帮助,也许您做得很好只是您错过了代码中的一部分

【讨论】:

    猜你喜欢
    • 2015-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-25
    • 1970-01-01
    • 2019-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多