ASP.PostBackUrl的请求类型是GET

本文关键字:GET 类型 请求 PostBackUrl ASP | 更新日期: 2023-09-27 18:08:15

我正在尝试使用PostBackUrl从上一页获取值,但没有来自上一页的值,然后我在PageLoad中检查了什么类型的请求进来,显示为get

第一页
  <asp:Button ID="Button1" runat="server" Text="Button" PostBackUrl="~/SecondPage" />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

第二页

   protected void Page_Load(object sender, EventArgs e)
    {
     string type= Request.RequestType; // comes as GET
     Label1.Text = Request.Form["TextBox1"];
    }

为什么是GET ?我怎样才能得到Texbox1的值?

编辑:

我发现,因为asp, get就要来了。. NET友好的url。我能做些什么来研究asp ?. NET友好url

请给我建议

谢谢

ASP.PostBackUrl的请求类型是GET

为什么是GET?检查表单声明您是否设置了表单方法?

<form id="form1" runat="server" method="get">
</form>

如何获得Texbox1的值?

因为它是一个GET请求,所以使用request . querystring。请求。表单用于POST请求。

 protected void Page_Load(object sender, EventArgs e)
 {
    string type= Request.RequestType; // comes as GET
    Label1.Text = Request.QueryString["TextBox1"];
 }
无论如何,从第一页到第二页存储值的另一种方法是使用ASP。净会话。
protected void Button1_Click(object sender, EventArgs e)
{
   Session["textbox1"] = TextBox1.Text;
}

第二页:

protected void Page_Load(object sender, EventArgs e)
{
  Label1.Text = Session["textbox1"].ToString();
}

当URL重写器重定向时,它将post更改为get。

要改变这种行为,在RouteConfig.cs文件中将重定向模式设置为off。

        settings.AutoRedirectMode = RedirectMode.Off;

如果你不想显示扩展名,你必须从引用中删除它们。

您可以尝试以下跨页面发布

((TextBox)PreviousPage.FindControl("TextBox1")).Text;