繁体   English   中英

如何从javascript中获取C#代码

[英]How to fetch C# code from javascript

我想在单击“登录”按钮时将用户信息存储到本地存储中。 现在的问题是,当我点击“登录”按钮时,我收到了用户信息。 我在.ascx文件中使用javascript定义了本地存储代码。 我的代码隐藏文件包含用户信息的值,我想使用这些值存储到本地存储中。

这是我的javascript本地存储代码:

LocalStorage.setItem("TestUser", JSON.stringify({
        "Usr_Username": “The username(string)”,
        "Usr_Email": “Email(string)”,
        "Usr_FirstName": “First name(string)”,
        "Usr_LastName": “Last name(string)”,
        "Usr_CompanyName": “Company name(string)”,
        "Usr_CountryCode": “Country code(string)”,
        "isAdmin": “If the user has admin rights(boolean)”
    }
});

我想使用DotNetNuke.Entities.Users.UserController.GetCurrentUserInfo()从C#代码中获取用户名,电子邮件,名字,姓氏

我怎样才能做到这一点? 请指导我这个。 谢谢。

你可以创建HttpHanlder并通过jQuery ajax调用它:

 $.ajax({
     url: "/User.ashx",
     contentType: "text/plain",        
      contentType: "application/json; charset=utf-8",
   success: function (data) {
    LocalStorage.setItem("TestUser", data);
   }
});

和User.ashx应该是这样的:

public class User : IHttpHandler
{
  public void ProcessRequest(HttpContext context)
  {
     JavaScriptSerializer serializer = new JavaScriptSerializer();
     context.Response.ContentType = "text/html";
     var currentUser = DotNetNuke.Entities.Users.UserController.GetCurrentUserInfo();

     var serUser = javaScriptSerializer.Serialize(currentUser);
     context.Response.Write(serUser);
  }
  public bool IsReusable
  {
    get
    {
        return false;
    }
  }
}

或者您可以使用WebAPI创建操作并从ajax调用它。 两者都很相似,取决于你喜欢哪一个

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM