如何在javascript中的会话对象成员变量后面访问asp.net代码? - c#

我有一个类处理我的asp.net应用程序中的所有会话变量。而且,有时我将对象存储在会话变量中,以便允许我编写与普通.net应用程序非常相似的代码。

例如,这是会话变量中的一个对象:

public cUser User
{
    get { return (cUser)HttpContext.Current.Session["CurrentUser"]; }
    set { HttpContext.Current.Session["CurrentUser"] = value; }
}

这是MySessionClass的实例:

    public static MySessinClass Current
    {
        get
        {
            MySessionClass session = (MySessionClass)HttpContext.Current.Session["MySessionClass"];
            if (session == null) {
                session = new MySessionClass();
                HttpContext.Current.Session["MySessionClass"] = session;
            }
            return session;
        }
    }

因此,在我的aspx页面后面的代码中,我只会做诸如

int userID = MySessionClass.Current.User.UserID;

这很棒,我喜欢。但是,我想在aspx页面的javascript中应用相同的原理:

var userID = <%=MySessionClass.Current.User.UserID%>;

但是,当我访问该网页时,出现一条错误消息,指出它无法识别MySessionClass对象。

因此,鉴于我所处的上下文,在javascript中从对象,会话中引用该UserID变量的最佳方法是什么?也许我引用它的语法已关闭,或者我使用了错误的方式。任何帮助,将不胜感激,谢谢。

参考方案

由于已将其定义为静态成员,因此您需要使用页面类型来限定引用:

var userID = <%=MyPageType.MySessionClass.Current.User.UserID%>; 

那应该足够了。

是否可以在隔离的环境中执行上载的.NET代码? - c#

在.NET网站中,我需要获取用户提交的代码,对其进行编译和执行。但是我需要在隔离的环境中执行代码,以使任何恶意代码都不会损害我的系统(例如,永远不要执行Directory.Delete(“ C:\ Windows”))。是否可以在一种chroot环境中执行代码? 参考方案 您可以在sandbox中编译并运行代码。这是一个具有受限权限的新创建的AppDomai…

ddl在服务器中未更新-asp.net - javascript

我在ASP.NET c#上工作。我有一个DropDownList。 (runat =“ server”)在$ {document).ready上,我更新了它的值:$(document).ready(function () { document.getElementById("ddl").value = "abc"; ……

ASP.NET-如何更改JSON序列化的方式? - javascript

我正在使用ASP.NET通过以下查询返回Json文件:public ActionResult getTransactionTotals(int itemID) { DBEntities db = new DBEntities(); var query = from trans in db.Transactions // Linq query removed …

javascript popupwindow之后的行如何工作? - javascript

好的,我有一个来自后面代码的方法,可以创建一个popupwindow。然后有一行代码要在那之后执行,我想知道那行代码何时执行,是在使用popupwindow之后执行还是在创建popupwindow之后执行?例如:void exPopupWindowMethod() { string scr = "window.open('exampleP…

ASP.NET MVC中应为DataTable返回哪种数据? - javascript

我想为DataTable中的每个页面创建动态加载信息。我正在尝试遵循以下示例:https://www.datatables.net/manual/server-sidehttps://www.datatables.net/manual/data来自示例的代码:$('#example').DataTable( { serverSide: t…