【发布时间】:2014-02-09 17:28:52
【问题描述】:
我在控制器中创建了一个函数,在其中创建了三个会话并传递了值。我需要将值传递给 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) { .....
请帮助我正确的格式。提前谢谢你。
【问题讨论】:
-
我认为
null在 JavaScript 中没有任何意义,它是 C# 的东西,如果您的会话变量是null,您的 JavaScript 变量将只是一个空字符串 ('')。将!= null替换为!= ''。顺便说一句,在您的最后一个变量中,您也缺少%。 -
ASP 是否在将 JS 文件的输出发送到浏览器之前对其进行处理和解析?如果没有,那么您将需要使用 AJAX 从会话中请求必要的变量。
-
不,值本身没有传递给变量,我可以找到格式 '';错了,但我不知道什么是正确的格式,请帮帮我
-
我需要将控制器中的会话 [Session["groupID"] = groupID;] 的值传递给 jquery 中的变量 [var GroupID]。我在 jquery 和 mvc 方面很差。请建议我执行此操作的步骤。谢谢。
-
好吧,
<%=Session("groupID")%>似乎是打印 ASP 变量的正确语法,但如果 ASP 不解析此 JS 文件,那么如果您在浏览器中查看源代码,您应该会看到var GroupID = '<%=Session("groupID")%>';。我将发表一篇文章,概述 AJAX 的基本概念。
标签: javascript jquery asp.net-mvc-3 session