C# ASP.NET友好URL PostBackUrl RequestType作为GET提供

C# ASP.NET友好URL PostBackUrl RequestType作为GET提供,c#,asp.net,webforms,postback,friendly-url,C#,Asp.net,Webforms,Postback,Friendly Url,我正在尝试使用PostBackUrl从上一页获取值,但没有来自上一页的值,然后我在PageLoad中检查了传入的请求类型,显示为get 首页 <asp:Button ID="Button1" runat="server" Text="Button" PostBackUrl="~/SecondPage" /> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 为什么会有这样的结果?如何获取Te

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

首页

  <asp:Button ID="Button1" runat="server" Text="Button" PostBackUrl="~/SecondPage" />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
为什么会有这样的结果?如何获取Texbox1的值

编辑: 我发现GET的出现是因为ASP.NET友好的URL。如何处理ASP.NET友好URL

请告诉我

谢谢

为什么要来?检查您的申报表。您是否设置了表单方法

<form id="form1" runat="server" method="get">
</form>
无论如何,将值从第一页存储到第二页的另一种方法是使用

第二页:

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

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

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

当URL重写器重定向时,它会将帖子更改为get

要更改行为,请在RouteConfig.cs文件中将重定向模式设置为off

        settings.AutoRedirectMode = RedirectMode.Off;

如果您不想显示扩展名,则必须将其从引用中删除

你试过Request.Parameters了吗。也许循环一下,看看它带来了什么。没有调用Request.Parameters。Request.Param没有不同的意思是Request.Param。您的ID TextBox1是否在客户端?我需要在代码隐藏中访问它。为什么在我发布帖子时是GET?????我的表单中不需要方法类型,因为您知道ASP.NET中的默认表单方法是post,当我将该方法更改为post时,它也是GET。请看这里。这可能与您的母版页有关,您必须引用contentplaceholder
protected void Page_Load(object sender, EventArgs e)
{
  Label1.Text = Session["textbox1"].ToString();
}
((TextBox)PreviousPage.FindControl("TextBox1")).Text;
        settings.AutoRedirectMode = RedirectMode.Off;