在Javascript中使用ASP.Net会话

本文关键字:ASP Net 会话 Javascript | 更新日期: 2023-09-27 18:00:57

我必须使用会话(System.Web.HttpContext.Current.Session["Filtre"](中存储的数据在Javascript中处理操作

是否可以使用asp.net会话在Javascript中捕获并执行操作?

我已经尝试了一些像这样的样本,但没有成功:

var f = '<%=Session["Filtre"]%>';

在这种情况下(我想是出于安全问题(,是否可以调用javascript中的aspx.cs函数来执行操作?

祝你今天过得愉快。

在Javascript中使用ASP.Net会话

您不能混合客户端javascript和服务器端代码(如会话(。进程不会同时运行

您的代码

var f = '<%=Session["Filtre"]%>';

可以工作,但是:

  • 首先,服务器需要执行<% %>块来生成一个字符串,该字符串放置在一些文本中
  • 该文本被发送到浏览器,可能是页面的一部分
  • 仅在浏览器中,它被解释和执行为javascript

浏览器执行随机服务器端代码没有简单的方法。复杂的方法使用AJAX调用来调用服务器上专门设计的方法(而不是任意代码(。

使用<scriptmanager>可以进行

请浏览以下文章

http://www.codeproject.com/Articles/525364/AJAX-for-Beginners-Part-3-Calling-Server-Side-Meth

是的,如果使用WebMethod对方法进行注释,则JavaScript可以调用C#方法。这使得该方法可以从远程Web客户端调用(即,它变为"页面方法"(。MSDN。

您需要将EnableSession属性设置为true才能使用会话。示例:

[WebMethod(EnableSession=true)]
public static int Example() {
...

然后从JavaScript调用page方法,可能使用jQuery。

   $.ajax({
        type: "POST",
        url: "MyPage.aspx/Example",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        data: "{ }",
        error: function (XMLHttpRequest, textStatus, errorThrown) { alert(langError + " " + textStatus); },
        success: function (msg) {
            alert(msg.d);
        }
    });