Значение TextBox, используемое в параметре url

У меня есть сайт ASP.NET, и у меня есть страница, которая использует строку URL-запроса:

routeToScene.aspx? RunNumber = 3253665

Это нормально загружается, когда я передаю параметр RunNumber=XXXXXXX в URL.

Я хочу загрузить эту страницу, передав RunNumber=XXXXXXX через текстовое поле на другой странице под названием: routToHospitalParam.aspx с помощью простой кнопки отправки, которая принимает значение в текстовом поле и передает его по URL-адресу второй страницы. Это должно быть просто, и я чувствую себя глупо, потому что не могу найти ответ.

Это код в routeToHospitalParam.aspx страница...

<asp:TextBox ID="TextBox1" Width="80px" MaxLength="7" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Submit" PostBackUrl="~/MAP/routeToHospital.aspx" + TextBox1.text />

Проблема в том, когда я пытаюсь использовать TextBox1.value (при условии, что это правильно) в PostBackUrl который загружает другую страницу.

3 ответа

Решение

Вы можете сделать это

В aspx измените код для обработки события onclick:

<asp:Button ID="Button1" runat="server" Text="Submit" 
OnClick="Button1_OnClick" />

В codebehind кнопку click event перенаправить пользователя с помощью queryprameter:

protected void Button1_OnClick(object sender, EvenArgs e)
{
  Response.redirect("~/MAP/routeToHospital.aspx?RunNumber=" + HttpUtility.UrlEncode(TextBox1.text));
}

Вы действительно хотите взглянуть на публикации на нескольких страницах в ASP.Net

Он использует PreviousPage собственность Page объект. Это было то, что вы можете покончить с попыткой передать значение через строку запроса.

например

C#

TextBox textBox = (TextBox)Page.PreviousPage.FindControl("TextBox1");

VB

Dim textBox as TextBox = CType(Page.PreviousPage.FindControl("TextBox1"), TextBox)

Вы можете попробовать некоторую функцию jQuery, как показано ниже, чтобы установить URL обратной ссылки:

$(function(){
$('#Button1').click(function(){
    $('#Button1').attr("action", "/MAP/routeToHospital.aspx?RunNumber=" + $('#TextBox1').val());
   });
});

или добавьте это на событие размытия текстового поля:

$(function(){
$('#TextBox1').blur(function(){
    $('#Button1').attr("action", "/MAP/routeToHospital.aspx?RunNumber=" + $('#TextBox1').val());
   });
});
Другие вопросы по тегам