加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何将服务器会话从Razor MVC C#传递给Angularjs?

发布时间:2020-12-15 22:11:22 所属栏目:百科 来源:网络整理
导读:我试图找出将服务器会话数据从MVC Razor应用程序传递到 Angularjs的最佳方法. 在ASP.net中,我们能够使用System.Web.UI.Page扩展一个类,创建一个字符串字典项,json序列化该数据,然后将该项传递给this.ClientScript.RegisterClientScriptBlock,但我无法遵循相
我试图找出将服务器会话数据从MVC Razor应用程序传递到 Angularjs的最佳方法.

在ASP.net中,我们能够使用System.Web.UI.Page扩展一个类,创建一个字符串字典项,json序列化该数据,然后将该项传递给this.ClientScript.RegisterClientScriptBlock,但我无法遵循相同的路径,因为我正在使用Razor.

我目前只是传递ViewBag.variableName并在ng-init中设置值,但这并不理想.所以我想到了一些想法.

设置一个角度服务来获取一个使用角度控制器将会话放入$scope.variable的ashx处理程序页面会更好吗?或者将会话传递给视图,然后以某种方式将其放入$scope?

从MVC Razor获取角度的服务器会话变量的最佳方法是什么?

Ok,I posted my below answer,but I’m still having trouble getting the session into scope of my multiple controllers. Because http.get is asynchronous and I can’t get the results set to be dynamic.

解决方法

只需在页面控制器中创建一个专用操作,即可将服务器会话中的值从AngularJs代码中的 JavaScript Ajax请求中获取.

// Action to return the session value. This method should be inside a controller class.
public object GetSession(string sessionName)
{
    return Session[sessionName];
}

// JavaScript code to retrieve session "TEST":
$http.get('action/url/' + "TEST").
    success(function (sessionValue) {
        alert('Session "TEST" has the following value: ' + sessionValue);
    }
);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读