gpt4 book ai didi

c# - 如何将服务器 session 从 Razor MVC C# 传递到 Angularjs?

转载 作者:行者123 更新时间:2023-11-30 12:44:27 24 4
gpt4 key购买 nike

我正在尝试找出将服务器 session 数据从 MVC Razor 应用程序传递到 Angularjs 的最佳方法。

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

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

设置一个 angular.service 来获取一个 ashx 处理程序页面,使用 Angular Controller 将 session 放入 $scope.variable 会更好吗?或者将 session 传递给 View ,然后以某种方式将其放入 $scope?

从 MVC Razor 获取服务器 session 变量到 Angular 的最佳方法是什么?

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.

最佳答案

只需在您的页面 Controller 中创建一个专用操作,以从服务器 session 获取值到您的 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);
}
);

关于c# - 如何将服务器 session 从 Razor MVC C# 传递到 Angularjs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28456722/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com