Response.Redirect 导致 IsPostBack 为 true

Bri*_*ian 6 asp.net

我在 ASP.Net 页面上有一个按钮,在执行一些处理后,它将调用 Response.Redirect 返回同一页面,以便重新显示查询结果。然而,由于某种原因,该页面显示为空白。看来 IsPostBack 在重定向后返回 true。有人知道为什么会发生这种情况吗?

该页面是社区服务器中的自定义页面。这是基本代码:

void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        string connStr = ConfigurationManager.ConnectionStrings["SiteSqlServer"].ConnectionString;
        SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM ge_vw_NonResidents", connStr);
        DataTable tbl = new DataTable();
        da.Fill(tbl);
        da.Dispose();
        rptNonResidents.DataSource = tbl;
        rptNonResidents.DataBind();
    }
}

void btnApprove_Command(object sender, CommandEventArgs e)
{
    // Code removed for testing.

    Response.Clear();
    Response.Redirect("ApproveResidents.aspx", true);
    Response.End();
}
Run Code Online (Sandbox Code Playgroud)

Bri*_*ian 2

抱歉,这是一个 id-10-t 错误。我的事件处理程序根本没有被调用。该页面的 EnableViewState="false"。一旦我将其更改为 true,它就起作用了。

我也采纳了tvanfosson的建议。这允许我显示一条确认消息。我可以轻松检查是否已采取该操作并安全地忽略它。由于我可能是唯一见过这个屏幕的人,所以我不太关心可用性。