2012-04-23 2 views
1

Мне интересно Как я могу сохранить текст своего текстового поля, даже если мне нужно сделать новую загрузку страницы, нажав на гиперссылку.Сохраните текст текстового поля через страницу PageLoad();

Это всегда пустая строка.

Может кто-нибудь мне помочь?

  lkForgotten.NavigateUrl = string.Format("Logon.aspx?forgotten={0}", ""); 
      lkSend.NavigateUrl = string.Format("Logon.aspx?forgotten={0}&userEmail={1}", "submited", txtForgotten.Text); 

      try 
      { 
       if (Request.QueryString["forgotten"].ToString() == "") 
       { 
        txtForgotten.Visible = true; 
        lkSend.Visible = true; 
       } 

       if (Request.QueryString["forgotten"].ToString() == "submited") 
       { 
        userEmail = txtForgotten.Text; 
        SendForgottenPassword(userEmail); 
       } 
      } 
      catch { } 
+0

HTML и веб-приложения не имеют статуса, вы не можете сохранять данные, находящиеся на странице, если вы не используете файлы cookie или сеанс. – gdoron

+0

- это то, что решение javascript работает для вас ??? –

ответ

0

Редактировать

ли перенаправление с

кода Javascript

function redirect() 
{ 
    var val = document.getElementById('<%= txtForgotten.ClientID %>').value; 
    location.href='Logon.aspx?forgotten=submitted&userEmail=' + val ; 
} 

<input type="button" VALUE="Visit Microsoft" OnClick="redirect();"> 

проблемы witht он выше код, когда вы создаете URL забываешь пароль на странице загрузки в это время значение текстового поля пуст, и когда перенаправление, щелкнув ссылку на пароль для пароля, его получение пустого значения что вы ввели в вашем коде ... так, чтобы заставить его работать сделать переадресацию с помощью JavaScript, как описано выше, или использовать события нажатия, которые делают переадресацию для вас ....

ORG

следующую строку изменить как этого

if (Request.QueryString["forgotten"].ToString() == "submited")     {      
    userEmail = txtForgotten.Text = Request.QueryString["userEmail"].ToString() ;       
    SendForgottenPassword(userEmail);     
} 

так, когда вы кнопку, нажав его получить значение USEREMAIL из строки запроса и восстановить значение в текстовом поле вы ... это, конечно, сделать вашу задачу

или

вы можете использовать другой стороне клиента mecanisam как печенье, чтобы сохранить значение и чем retrive его на странице ...

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

+0

Вещь txt всегда равна null ... – Kiwimoisi

+0

@Emged - когда вы делаете postback, сделайте это из javascript, а скорее, из-за того, что он обслуживает сторону ... Я редактирую мой код как можно скорее –

+0

Как использовать этот javascript? – Kiwimoisi

3

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

Вы можете установить его, когда захотите, и получить нужные значения.

http://msdn.microsoft.com/en-us/library/ms178581.aspx

Edit: Чтобы удовлетворить некоторые возражения в комментариях, если сама сессия не достаточно, вы можете использовать другой подход. Контролируйте текстовые поля с помощью javascript, и если их значение изменилось, добавьте файл cookie (или добавьте значение в существующий файл cookie, в зависимости от потребностей). Все же гораздо лучший подход, чем использование запроса для такого типа функциональности ... По крайней мере, на мой взгляд.

+0

-1: сеанс сеанса не поможет, пока вы не создадите событие щелчка на сервере, потому что при нажатии кнопки ссылки он перенаправляется на страницу, а не принимает значение текстового поля, поэтому это не будет работать здесь ... прочитайте мой ответ, почему его не работает ... –

+1

@PranayRana, ну, это зависит от ситуации. В любом случае, использование запроса для такого типа ситуации, на мой взгляд, довольно плохое. Зачем? Потому что, если у вас есть 20 текстовых полей (это все еще довольно мало), и вы хотите сохранить все значения, вы получите очень уродливый URL. Не говоря о ситуации, у вас есть несколько якорных ссылок и вы хотите иметь одинаковые функциональные возможности для всего сайта. Очень плохо. Вам нужно будет управлять URL-адресами для каждой ссылки, и это действительно плохо. Спасибо за минус ... – walther

Смежные вопросы