2014-01-07 5 views
7

Я хотел получить доступ к переменной сеанса в javascript в приложении asp.net mvc. Я нашел способ сделать это в режиме просмотра aspx, но не в бритве.Доступ к переменным сеанса в JavaScript

Пожалуйста, скажите мне, как получить доступ к переменным сессиям

+1

Вы пытались добавить значение сеанса к модели? – diceler

ответ

17

Вы можете сделать это таким образом, для String переменных:

<script type="text/javascript"> 
    var someSessionVariable = '@Session["SomeSessionVariable"]'; 
</script> 

Или как это, если это цифровое:

<script type="text/javascript"> 
    var someSessionVariable = @Session["SomeSessionVariable"]; 
</script> 

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

6

Мне лично нравится шаблон атрибута данных.

В коде Razor:

<div id="myDiv" data-value="@Request.RequestContext.HttpContext.Session["someKey"]"></div> 

В вашем JavaScript:

var value = $("#myDiv").data('value'); 
+0

Как я могу получить доступ к этому сеансу из моего контроллера? –

+0

В любом контроллере MVC или Web API вы можете просто набрать «var myValue = Session [« MyKey »];' получить значение для «MyKey» – Moeri

+0

Большое вам спасибо, я попробую это. –

0

Для Google поисковиков,

Кроме того, если вы хотите получить доступ к переменной сеанса во внешнем .js файл, который вы можете просто сделать,

------ SOME HTML PAGE ------ 

//Scripts below Html page 
<script> 
    //Variable you want to access 
    var mySessionVariable = '@Session["mySessionVariable"]'; 
</script> 

// Load External Javascript file 
<script src="~/scripts/MyScripts/NewFile.js"></script> 

Внутри NewFile.js

$(document).ready(function() { 
    alert(mySessionVariable); 
}); 
0

В моей asp.net я не получаю результат на

 <script type="text/javascript"> 
      var someSessionVariable = '@Session["SomeSessionVariable"]'; 
    </script> 

Но я получаю ответ на код ниже,

<script type="text/javascript"> 

    var yourVariable = '<%= Session["SessionKey"] %>'; 

</script> 
+0

Думаю, вы не использовали MVC в своем приложении. –

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