Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将控制器中声明的会话值传递给jquery变量?_Javascript_Jquery_Asp.net Mvc 3_Session - Fatal编程技术网

Javascript 如何将控制器中声明的会话值传递给jquery变量?

Javascript 如何将控制器中声明的会话值传递给jquery变量?,javascript,jquery,asp.net-mvc-3,session,Javascript,Jquery,Asp.net Mvc 3,Session,我在controller中创建了一个函数,在该函数中我创建了三个会话并传递了值。我需要将这些值传递给jquery文件中的一些变量,以便在函数中使用它。 这是控制器的功能 public string GetAssociatedCompSetsForGroup(string groupID, string ScreenName) { Session["WorkBookID"] = Session["workbookId"]; Session["groupID"

我在controller中创建了一个函数,在该函数中我创建了三个会话并传递了值。我需要将这些值传递给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;
    }
公共字符串GetAssociatedCompSetsForGroup(字符串组ID,字符串屏幕名)
{
会话[“WorkBookID”]=会话[“WorkBookID”];
会话[“groupID”]=groupID;
会话[“屏幕名称”]=屏幕名称;
IList compSetsIds=serviceKMALocator.InvokeService(x=>x.GetAssociatedCompSetsForGroup(Convert.ToInt32(groupID),屏幕名));
string id=string.Empty;
foreach(compSetsIds中的int-id)
{
ids=ids+id.ToString()+常量.分号;
}
如果(!string.IsNullOrEmpty(ids))
{
ids=ids.Substring(0,ids.Length-1);
}
ViewBag.CompSetIds=ids;
会话[Constant.CompSetIds]=CompSetIds;
返回ID;
}
我在控制器中创建的三个会话的值应该传递给下面代码中的变量,我尝试过类似的方法

 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) { .....
var-GroupID='';
var WorkBookID='';
变量ScreenName='';
if(GroupID!=null&&WorkBookID!=null&&ScreenName!=null)
{
$.post(compsetForGroup,{groupID:groupID,ScreenName:ScreenName},函数(jsonData){
if(jsonData){
函数ajaxCall(否){。。。。。
请帮我填写正确的格式。提前谢谢。

试试这个:

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


if (GroupID && WorkBookID && ScreenName) 
{
var-GroupID='';
var WorkBookID='';
变量ScreenName='';
if(GroupID&&WorkBookID&&ScreenName)
{

在JavaScript代码中:

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

会话0到2分别与WorkBookID、groupID和ScreenName会话的值相等。

我就是这样做的

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

我认为
null
在JavaScript中没有任何意义,它是一个C的东西,如果会话变量是
null
您的JavaScript变量将只是一个空字符串(
'
)。将
!=null
替换为
!='
。顺便说一句,在上一个变量中,您也缺少了一个
%
。ASP是否在将JS文件发送到浏览器之前处理和解析其输出?如果没有,则需要使用AJAX从会话中请求必要的变量。否,值本身不会传递到变量可能我可以找到格式“”;错误,但我不知道正确的格式是什么请帮助我我需要将控制器中会话[session[“groupID”]=groupID;]的值传递给变量[var groupID]在jquery中。我在jquery和mvc方面非常差。请建议我做这件事的步骤。谢谢。好吧,
似乎是打印ASP变量的正确语法,但是如果ASP没有解析这个JS文件,那么如果你在浏览器中查看源代码,你应该会看到
var GroupID='';
。我会在文章中概述基金AJAX的基本概念。