Как передать значение сеанса, объявленное в контроллере, в переменную jquery?

0

Я создал функцию в контроллере, в которой я создал три сеанса и передал значения. Мне нужно передать значения некоторым переменным в файле jquery, чтобы использовать его в функции. Вот функция контроллера

public string GetAssociatedCompSetsForGroup(string groupID, string ScreenName)
    {
        Session["WorkBookID"] = Session["workbookId"];
        Session["groupID"] =  groupID;
        Session["ScreenName"] = ScreenName;
        IList<int> compSetsIds = serviceKMALocator.InvokeService<IList<int>>(x => x.GetAssociatedCompSetsForGroup(Convert.ToInt32(groupID), ScreenName));
        string ids = string.Empty;
        foreach (int id in compSetsIds)
        {
            ids = ids + id.ToString() + Constant.SemiColon;
        }
        if (!string.IsNullOrEmpty(ids))
        {
            ids = ids.Substring(0, ids.Length - 1);
        }
        ViewBag.CompSetIds = ids;
        Session[Constant.CompSetIds] = compSetsIds;
        return ids;
    }

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

 var GroupID = '<%=Session("groupID")%>';
var WorkBookID = '<%=Session("WorkBookID")%>';
var ScreenName = '<%=Session("ScreenName")>';


if (GroupID != null && WorkBookID != null && ScreenName != null) 
{


    $.post(compsetForGroup, { groupID: GroupID, ScreenName: ScreenName }, function (jsonData) {
        if (jsonData) {
            function ajaxCall(no) { .....

Пожалуйста, помогите мне в правильном формате. Заранее спасибо.

  • 0
    Я не думаю, что null имеет какое-либо значение в JavaScript, это вещь C #, и если ваша переменная сеанса равна null ваша переменная JavaScript будет просто пустой строкой ( '' ). Замените != null на != '' . Кстати, в последней переменной вы тоже пропускаете % .
  • 0
    Обрабатывает ли ASP и анализирует ли файл JS перед отправкой в браузер? Если нет, то вам нужно будет использовать AJAX для запроса необходимых переменных из вашего сеанса.
Показать ещё 3 комментария
Теги:
session
asp.net-mvc-3

3 ответа

1

в ваших кодах JavaScript:

var WorkBookID = "@Session[0]";
var groupID= "@Session[1]";
var ScreenName = "@Session[2]";

что сеансы с 0 по 2 эквивалентны значению WorkBookID, groupID, сеансам ScreenName соответственно.

0

Вот как я это сделал

 var OppoId = '@(OMSSession.SessionProperties.SelectedOpportunityId)';
0

Попробуй это:

var GroupID = '<%=Session["groupID"]%>';
var WorkBookID = '<%=Session["WorkBookID"]%>';
var ScreenName = '<%=Session["ScreenName"]>';


if (GroupID && WorkBookID && ScreenName) 
{

Ещё вопросы

Сообщество Overcoder
Наверх
Меню