【问题标题】:Alternative to "Response.Redirect(Request.Url.AbsoluteUri);"替代“Response.Redirect(Request.Url.AbsoluteUri);”
【发布时间】:2018-11-13 16:23:05
【问题描述】:

在 ASP.NET 中创建一个基本的输入和网格视图页面。在页面上,用户输入数据,他们可以在 gridview 上看到它,一切都很好,但我想知道是否有替代 Response.Redirect(Request.Url.AbsoluteUri); (这是用于提交用户输入的最后一行代码),因为这个确实会重新启动页面,并且他们可能已经完成的一些自定义操作(例如隐藏或查看某些选项)将恢复为默认值。

理想情况下,用户应该能够输入数据、提交和查看数据,并且页面不会重新启动。

如果你想知道 C# 代码是什么样的,就在这一行下面...

protected void Button1_Click(object sender, EventArgs e)
{
  if (ButAc.Text == "No")
    {
        con = new SqlConnection(@"MY CON SOURCE");
        con.Open();
        cmd = new SqlCommand("SQL COMMAND"), con);

        cmd.Parameters.AddWithValue("@Action", Action.Text);
        cmd.Parameters.AddWithValue("@Acc1", Acc.Text);
        cmd.Parameters.AddWithValue("@Acc2", Acc2.Text);
        cmd.ExecuteNonQuery();
    }
    Response.Redirect(Request.Url.AbsoluteUri);
}

【问题讨论】:

  • 不这样做吗?你想做什么?
  • Server.Transfer 是一种选择

标签: c# asp.net visual-studio


【解决方案1】:

不是很明白,但可能是其中之一: 1)根本不使用Response.Redirect(将显示当前页面) 2) 也使用 IsPostBack

【讨论】:

  • 嗯,能给个IsPostBack的例子吗?
  • 想法:第一个页面加载 - 称为 Page_Load,IsPostBack = false; 2nd....页面加载 - 前按钮点击 - 称为 Page_Load 和之后 - 按钮的点击方法。使用 IsPostBack=true。第一次设置初始控制值
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-21
  • 1970-01-01
  • 2012-02-09
  • 1970-01-01
  • 2011-03-24
  • 2019-12-05
  • 1970-01-01
相关资源
最近更新 更多