ASP.NET дружественные URL-адреса PostBackUrl RequestType поставляется как GET

1

Я пытаюсь использовать 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-адреса

Пожалуйста, советую мне

благодаря

  • 0
    Вы пробовали Request.Parameters. Может быть, пройти через это и посмотреть, что это возвращает
  • 0
    Там нет ничего, чтобы позвонить Request.Parameters. Request.Param там не то, что отличается
Показать ещё 2 комментария
Теги:
webforms
friendly-url
postback

3 ответа

0

Когда переадресация URL-адреса переадресации изменяет сообщение на получение.

Чтобы изменить поведение, в файле RouteConfig.cs установите режим перенаправления на выключен.

        settings.AutoRedirectMode = RedirectMode.Off;

Если вы не хотите, чтобы расширения показывались, вы должны удалить их из своих ссылок.

0

Вы можете попробовать следующее: перекрестная публикация

((TextBox)PreviousPage.FindControl("TextBox1")).Text;
  • 0
    это дает нулевое значение
  • 0
    Посмотрите здесь. Это может быть связано с вашей главной страницей, и вам нужно сослаться на владельца содержимого
Показать ещё 1 комментарий
0

Почему это происходит как 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();
}
  • 0
    нет необходимости в методе типа в моей форме (КАК ВЫ ЗНАЕТЕ, ЧТО МЕТОД ФОРМЫ ПО УМОЛЧАНИЮ ВЫСТАВЛЕН В ASP.NET), и когда я изменяю метод для публикации, он также появляется как GET

Ещё вопросы

Сообщество Overcoder
Наверх
Меню