Как прочитать измененные данные из TextBox, где TextBox получает данные из QueryString?

У меня есть TextBox названный TextBoxValue и Button названный ButtonGetValue которые расположены на ASP WebForm названный DestinationPage.aspx, Что я делаю, так это то, что я заполняю TextBox со значением, которое я передаю на эту страницу с предыдущей страницы, используя QueryString, Я реализую это следующим образом:

<asp:Button ID="ButtonCompute" runat="server" Text="Compute" OnClick="ButtonCompute_Click" ValidationGroup="ComputeGroup"/

ButtonCompute это Button расположен на SourcePage.aspxи нажав на него, просто передал данные DestinationPage.aspx от SourcePage.aspx, Это не Button о котором я говорил ранее.

Код в SoucePage.aspx.cs:

int valueForDestination = 10; 
Response.Redirect("~/DestinationPage.aspx?Value = + valueForDestination);

Код в DestinationPage.aspx.cs:

int valueFromQS = Request.QueryString["Value"];
TextBoxValue.Text = valueFromQS;

<asp:Button ID="ButtonGetValueValue" runat="server" Text="Get Value" onclick="ButtonGetValue_Click" /> 

Теперь, что я делаю здесь, как только значение отображается в TextBoxValueизмените его на 100 от 10, А потом я нажимаю на ButtonGetValue, Но вместо того, чтобы получить 100; что является обновленным значением, я получаю 10; который был начальным значением. Как я могу получить обновленное значение?

РЕДАКТИРОВАТЬ 1.0 Я прошу прощения за то, что не упомянул четко, что я хочу сделать с ButtonGetValue, это Button просто читает значение из TextBox и печатает значение на экране.

Я работаю над ASP.NET WebForms,

1 ответ

Решение

Если вы не хотите, чтобы оно изменялось на значение QueryString при каждой обратной передаче, вы хотите обернуть его в!IsPostBack

if (!Page.IsPostBack)
{
    if (Request.QueryString["Value"] != null) 
    {
        TextBoxValue.Text = Request.QueryString["Value"].ToString();
    }
}

Также в вашем примере кода вы проходите через 10 в строке запроса, и вы также говорите, что значением по умолчанию является 10, если вы хотите, чтобы оно было 100, тогда вам нужно передать 100 в строку запроса в вашем событии нажатия кнопки.

Другие вопросы по тегам