asp.net - Response.Redirect 导致 IsPostBack 为 true

标签 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();
}

最佳答案

Response.Redirect 将从浏览器触发 HTTP GET。由于没有发布数据,IsPostBack 为 false。你还有其他事情要做。

我建议启动Fiddler并查看请求的顺序。它应该看起来像:

  • 客户端:HTTP POST(单击按钮)
  • 服务器:HTTP 302(重定向)
  • 客户端:HTTP GET
  • 服务器:HTTP 200(写入页面)

关于asp.net - Response.Redirect 导致 IsPostBack 为 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/217067/

相关文章:

c# - ASP.net MVC 路由参数

c# - 在网络表单中查找控件

c# - 如何从 ImageButton-Click 获取 RepeaterItem 的 ItemIndex?

asp.net - 一种在页面上存储 View 以及何时保存到数据库的快速方法

asp.net - 为什么 ASP.NET 中的 cookie 过期日期无法跨 session 保存?

IE7,8 的 ASP.NET TreeView 性能问题

c# - 将 asp.net core 从 .net 5 移植到 .net 6 时首页加载缓慢

.net - 以编程方式创建子域

mysql - 更改 asp.net 成员(member)中的用户名

javascript - 在 JavaScript 中找不到隐藏文本的 ID