2016-03-24 2 views
0

У меня есть код .asp, который я генерирую в нем несколько переменных сеанса, а затем перенаправляю его на C# doe. Я пытаюсь прочитать эти переменные сеанса, которые поступают из кода.asp в мой код C#, но кажется, что я не могу передать их в свой код C#. Я могу получить значение переменных сеанса, пока я все еще на .asp, но как только я перенаправляюсь на код C# и пытаюсь получить переменные сеанса (и их значение), значение не будет достигнуто.Передача переменных сеанса из кода asp в код C#

жерех часть:

response.write("Session(oldID)=&Session("oldID")) 

C# часть:

string oldIDSession = (string)(Session["oldID"]); 
+1

Думаю, ваш фрагмент кода не так должно быть 'response.write ("Session (oldID) =" & Session ("oldID")) '. Для вопроса не важно. – Lankymart

ответ

3

Веб-приложение Классический ASP и веб-приложения ASP.NET (C# код) выполняется в отдельных областях применения ИИСА и, следовательно, значение сессии не может быть разделено.

Вы можете предоставить необходимые данные веб-приложению ASP.NET (C#) с использованием строк запроса или сделать прямой запрос на код C#.

Обратитесь к this post, чтобы узнать о передаче данных на страницу C# с использованием строки запроса.

Или, если вы отправляете данные с помощью POST (если вам нужно отправить много данных в код C#), измените атрибут действия формы на странице asp на страницу C# (aspx), на которую должны быть отправлены данные ,

EDIT

В классической странице осины вам нужно сделать что-то вроде (refer this):

<form action="http://example.com/TestApp/YourPage.aspx" method="post"> 
    // form elements 
</form> 

А затем, чтобы прочитать отправленные значения в вашей C# странице, нужно использовать (refer this):

string paramValue = Request.Form["key"]; // where key is the parameter name 
+0

Можете ли вы привести мне пример для вашего второго метода? (POST) – Shab

+0

Спасибо, Бхарат Гупта. – Shab

-1

Пожалуйста, обратитесь к this post

Я не уверен, что масштабы или характер вашего приложения, но я хотел бы предложить, чтобы не сделать ваш Классы C#, зависящие от сеанса, были бы легко протестированы. Например.

//In your Asp.Net 
int productId = (int)Session["productId"]; 

//In you c# code 
public Product GetProductById(int productId){ 

} 
+0

Полностью не релевантный, вы пропустили часть о Классическом ASP здесь. –

+0

О! Да, я вижу это сейчас. – vabii

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