【问题标题】:Can not edit a control after Response.RedirectResponse.Redirect 后无法编辑控件
【发布时间】:2012-10-05 07:51:56
【问题描述】:

我有 2 个按钮(saveAll、toNextStatus)

saveAll,保存一个网格视图并将 Response.redirect 运行到同一页面。

toNextStatus,如下图所示。

    protected void toNextStatus_Click(object sender, EventArgs e)
    {    
        DataTable dt = OrderDetailData.Check2to3(Session["Id"].ToString());

        if (dt.Rows.Count > 0)
        {
            lbl_Error.Text = "Please fill all fields";
            lbl_Error.Visible = true;
        }
        else
        {
            OrderDefinitionData.UpdateStatus(Session["Id"].ToString(), "3", "2");
            Response.Redirect("~/Default.aspx");
        }
    }

执行应用程序后,我点击saveAll -> 保存gridview没问题,我点击toNextStatus它显示“请填写所有字段。”

现在我想让我的 toNextStatus 按钮类似于“SaveAndToNextStatus”,所以我想合并这两个按钮。

出于这个原因,我在上面的代码中添加了下面的代码部分

begv_OrderDetail.SaveClicked(sender, e); //Click event of first button saveAll

执行应用程序后,我点击到NextStatus,它保存了页面,但没有显示“请填写所有字段”

编辑:

I have a control inside my gridview(1) (dropdownlist_ship_container), and I have another gridview(2) on the same page named (ship_container_manager), when a ship_container in (1) is selected and saved, I need to refresh我的页面,以便我的 ship_container_manager 得到刷新(通过在使用的容器附近设置删除按钮可见性 = false),因此用户可能无法删除此容器。由于我的 (1) 是 web 控件,因此我无法在 (1) 的保存按钮内访问 (2),因此我重定向到 (1) 的保存按钮内的同一页面,以便刷新 (2)

【问题讨论】:

  • 我不明白为什么您的保存方法需要重定向到自身。这就是标签不显示的原因,因为它将获得默认值。您不需要再次加载页面来更新 GridView (或其他)。所以删除所有Response.Redirect("~/Default.aspx");,我们将向您展示如何正确更新页面。
  • I have a control inside my gridview(1) (dropdownlist_ship_container), and I have another gridview(2) on the same page named (ship_container_manager), when a ship_container in (1) is selected and saved ,我需要刷新我的页面,以便我的 ship_container_manager 得到刷新(通过在使用的容器附近设置删除按钮可见性 = false),因此用户可能不会删除此容器。由于我的 (1) 是 web 控件,因此我无法在 (1) 的保存按钮内访问 (2),因此我重定向到 (1) 的保存按钮内的同一页面,以便刷新 (2) .

标签: c# asp.net event-handling


【解决方案1】:

请阅读life cycle page。 为什么将 Response.redirect 运行到同一页面??

【讨论】:

    【解决方案2】:

    如果您想查看 gridview 的变化,请使用gridview.databind()

    【讨论】:

    • 我无法访问那个gridview(请阅读编辑:有问题的部分),我的gridviews在同一页面上,但是其中一个gridview是一个webcontrol,它的内部有保存功能它,所以我无法在保存功能中使用 gridview.databind()。
    猜你喜欢
    • 2011-06-15
    • 1970-01-01
    • 2019-03-20
    • 1970-01-01
    • 2019-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多