javascript - 从 VB.NET 到 JavaScript 通过 WebMethod 获取 SessionID

标签 javascript vb.net webmethod sessionid pagemethods

我有点无能为力,因为下面的代码无法正常工作:

代码隐藏:

<WebMethod(EnableSession:=True)>
Public Shared Function GetSessionID() As String
    Dim sID = HttpContext.Current.Session.SessionID
    Debug.WriteLine(sID)
    Return sID
End Function

JavaScript:

var sID;

function init() {
    sID = PageMethods.GetSessionID();
...

sID 显然在那里并显示在调试输出中,但在 JavaScript 中 sID 保持“未定义”,因为该函数在 Firebug 控制台中执行时返回“未定义”。那里发生了什么?

最佳答案

您需要像这样定义 PageMethodsOnSuccess 回调:

var sID;

function init() {
    PageMethods.GetSessionID(OnSuccess);
}

function OnSuccess(response, userContext, methodName) {
    sID = response;
    alert(sID);
}

引用资料:

关于javascript - 从 VB.NET 到 JavaScript 通过 WebMethod 获取 SessionID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46904801/

相关文章:

javascript - 许多来自 JSON 的 href,在切换单击时会出现不同的 id

c# - 检查数据库中的重复值

jquery - Ajax数据源(对象):TypeError: f is undefined

jquery - 防止 Web 方法滥用的好方法是什么?

javascript - 确定 Silverlight 或 Javascript 中 ActiveX 控件的版本

javascript - 如何使用 javascript 将特殊的 UTF-8 字符转换为其等效的 iso-8859-1?

javascript - HTTP 从本地服务器请求数据

vb.net - 如何修改 vb.net 中禁用按钮的外观?

wpf - 尝试在 Visual Studio 2017 中查看应用程序属性页面时出错

vb.net - 在运行时编译和运行代码