Я пытаюсь использовать 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?
РЕДАКТИРОВАТЬ: Я НАЙДЕН, ЧТО ПОЛУЧАЕТ, ЧТОБЫ УСТРОИТЬ URL-адреса ASP.NET. ЧТО Я МОГУ ПОЛУЧИТЬ РАБОТУ НА ASP.NET? Дружественные URL-адреса
Пожалуйста, советую мне
благодаря
Когда переадресация URL-адреса переадресации изменяет сообщение на получение.
Чтобы изменить поведение, в файле RouteConfig.cs установите режим перенаправления на выключен.
settings.AutoRedirectMode = RedirectMode.Off;
Если вы не хотите, чтобы расширения показывались, вы должны удалить их из своих ссылок.
Вы можете попробовать следующее: перекрестная публикация
((TextBox)PreviousPage.FindControl("TextBox1")).Text;
Почему это происходит как GET? Проверьте декларацию формы. Вы настроили метод формы?
<form id="form1" runat="server" method="get">
</form>
Как я могу получить значение Texbox1?
Поскольку это запрос GET, используйте Request.QueryString. Request.Form используется для запроса POST.
protected void Page_Load(object sender, EventArgs e)
{
string type= Request.RequestType; // comes as GET
Label1.Text = Request.QueryString["TextBox1"];
}
Во всяком случае, другой способ хранения значения с первой страницы на вторую страницу - это сеанс ASP.NET.
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();
}