如何将Controller中声明的会话值传递给jquery变量?

时间:2014-01-20 13:50:45

标签: javascript jquery asp.net-mvc-3 session

我在控制器中创建了一个函数,我在其中创建了三个会话并传递了值。我需要将值传递给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) { .....

请帮我正确的格式。谢谢你提前。

3 个答案:

答案 0 :(得分:1)

在您的JavaScript代码中:

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

会话0到2分别等于WorkBookID,groupID,ScreenName会话的值。

答案 1 :(得分:0)

试试这个:

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


if (GroupID && WorkBookID && ScreenName) 
{

答案 2 :(得分:0)

我就是这样做的

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