2010-11-08 5 views
1

Я хочу передать строковое значение с одной страницы на другую. Также у меня есть несколько текстовых полей, и введенные в него значения должны быть переданы на новую страницу. Как это сделать? ?сеанс, куки-файлы в asp.net C#

У меня есть строка S

String S = Editor1.Content.ToString(); 

Я хочу передать значение строки S на новую страницу, т.е. Default2.aspx, как я могу это сделать в ASP.net C#

ответ

1

Вы можете достичь его с помощью Session или по QueryString

по сеансу
В вашей первой странице:

String S = Editor1.Content.ToString(); 
Session["Editor"] = S; 

Тогда в следующем доступе к странице сеанса с помощью:

protected void Page_Load(object sender, EventArgs e) 
{ 
    String editor = String.Empty; 
    if(!String.IsNullOrEmpty(Session["Editor"].ToString())) 
    { 
     editor = Session["Editor"].ToString(); 
     // do Something(); 
    } 
    else 
    { 
     // do Something(); 
    } 
} 

-

По QueryString
В вашей первой странице:

// or other events 
private void button1_Click(object sender, EventArgs e) 
{ 
    String S = Editor1.Content.ToString(); 
    Response.Redirect("SecondPage.aspx?editor" + S) 
} 

В вашей второй странице:

protected void Page_Load(object sender, EventArgs e) 
{ 
    string editor = Request.QueryString["editor"].ToString(); 
    // do Something(); 
} 
+0

Я использовал сеансы, но когда я попытался напечатать редактор строк, я получил ошибку, как использование непризнанной локальной переменной 'editor' – Ishan

+0

, что вы использовали? Сессия или запрос? на вашей второй странице? – yonan2236

0

Использование Session["content"]=Editor1.Content.ToString() в page1 .. .

в использовании PAGE2 ... string s = Session["content"]

+0

Чем You.Im получаешь следующее сообщение об ошибке Не удается неявно преобразовать тип 'объект' на «строки ». Явное преобразование существует (вы пропускаете листинг?) – Ishan

+0

@ user243680 change 'string s = Session [" content "]' to 'string s = Session [" content "] как строка;' –

+0

string s = Session ["content "] .ToString() должен работать –

1

Зависит от того, что значение. Если это всего лишь параметр и он хорошо просматривается пользователем, он может быть передан через QueryString.

например.

Response.Redirect("Default2.aspx?s=value") 

А затем получить на странице Default2 как

string s = Request.QueryString["s"]; 

Если он должен быть более безопасным, то рассмотреть возможность использования сессии, но я бы не рекомендовал использовать на сессии чрезмерно, как это может иметь проблемы, особенно если вы сохраняете сессию InProc, которая является стандартом ASP.NET.

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

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