Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试访问共享方法(JSON和VB.NET)中的类变量时遇到问题_Vb.net_Json_Variables_Shared - Fatal编程技术网

尝试访问共享方法(JSON和VB.NET)中的类变量时遇到问题

尝试访问共享方法(JSON和VB.NET)中的类变量时遇到问题,vb.net,json,variables,shared,Vb.net,Json,Variables,Shared,在my.aspx中,我有一些JSON代码,如下所示: function someFunctionName() { var dataStuff = $.toJSON({ someData: $("#someData").text(), someMoreData: $("#someMoreData").text() }); $.ajax({ type: "POST",

在my.aspx中,我有一些JSON代码,如下所示:

function someFunctionName() {
        var dataStuff = $.toJSON({
            someData: $("#someData").text(),
            someMoreData: $("#someMoreData").text()
        });
        $.ajax({
            type: "POST",
            url: "PageName.aspx/doIt",
            data: dataStuff,
            contentType: "application/json",
            dataType: "json"
        });
        document.location.href = 'PageName.aspx';
}
<WebMethod()> _
Public Shared Sub doIt(ByVal someData As String, ByVal someMoreData As String)
    MessageBox.Show("Successful execution!")
End Sub
基本上,我所做的是从一个页面上的两个标签中提取文本,然后通过调用“doIt”函数将它们发送到另一个页面,该函数如下所示:

function someFunctionName() {
        var dataStuff = $.toJSON({
            someData: $("#someData").text(),
            someMoreData: $("#someMoreData").text()
        });
        $.ajax({
            type: "POST",
            url: "PageName.aspx/doIt",
            data: dataStuff,
            contentType: "application/json",
            dataType: "json"
        });
        document.location.href = 'PageName.aspx';
}
<WebMethod()> _
Public Shared Sub doIt(ByVal someData As String, ByVal someMoreData As String)
    MessageBox.Show("Successful execution!")
End Sub
_
公共共享子doIt(ByVal someData作为字符串,ByVal someMoreData作为字符串)
Show(“成功执行!”)
端接头

我很清楚,“doIt”函数和JSON调用在两个单独的web表单上。我的问题是,在共享“doIt”函数的情况下,我无法访问该类的任何全局变量。如果我删除共享,我的JSON就不会执行。有什么解决方案吗?

如果合适,您可以将类中的字段(您称之为“全局变量”)也更改为shared。然后可以从共享方法访问它们。但是,这意味着它们的值将在类的所有实例中共享。如果这就是你想要的,那就是你的答案。

就是这样!对不起,这个术语。我是一个自学成才的程序员,从来没有上过学,所以有时候我会犯错。谢谢@Stylzs05没问题。自学成才的程序员是最好的(包括我在内)!在使用asp页面时,请务必小心使用共享/全局值,大多数情况下,这些值不应该是用户或会话的唯一值。我们有一个实例,其中数据库连接位于共享/全局变量中。如果两个人同时点击搜索,其中一个人可能会得到其他人的搜索结果。