Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.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
Asp.net 调用函数错误:类的显式实例_Asp.net_Sql_Ajax_Jquery - Fatal编程技术网

Asp.net 调用函数错误:类的显式实例

Asp.net 调用函数错误:类的显式实例,asp.net,sql,ajax,jquery,Asp.net,Sql,Ajax,Jquery,我正在尝试使用webmethod、jeditable和SqlDataSource工具将数据保存到数据库中。但是函数调用中出现了一些错误。我试图在谷歌上查找,但无法删除或理解错误。在代码视图中,它指向SqlDataSource1作为错误 这是错误:如果没有类的显式实例,则无法从共享方法或共享成员初始值设定项中引用类的实例成员 default.aspx.vb页面代码 < WebMethod()> _ Public Shared Function HelloWorld(var2 As St

我正在尝试使用webmethod、jeditable和SqlDataSource工具将数据保存到数据库中。但是函数调用中出现了一些错误。我试图在谷歌上查找,但无法删除或理解错误。在代码视图中,它指向SqlDataSource1作为错误

这是错误:如果没有类的显式实例,则无法从共享方法或共享成员初始值设定项中引用类的实例成员

default.aspx.vb页面代码

< WebMethod()> _
Public Shared Function HelloWorld(var2 As String, var3 As String)
    Dim tempData As String = 0

    If var2 = "edit_main_contents" Then
        tempData = var3
        dbValue(var2, var3)
    ElseIf var2 = "edit_second_contents" Then
        tempData = var3

    Else
        Return 0

    End If
    Return tempData
End Function

Public Shared Function dbValue(data_ID As String, data_value As String)

    SqlDataSource1.InsertParameters("datatext").DefaultValue = data_value
    SqlDataSource1.InsertParameters("myID").DefaultValue = data_ID
    SqlDataSource1.Insert()
    Return "job done"

End Function
$(document).ready(function () {
        $('.editable_textile').editable(function (value, settings) {
            var returnValue;
            var textboxID = $(this).attr('id');
            var returnValue = oGod(textboxID, value);
            return (returnValue);
        }
        , {
            width: '350',
            submit: 'Save Changes',
            cancel: 'Cancel',
            onBlur: 'ignore'
        });
    });
    function oGod(textboxID, NewValue) {
        var resultData;

        $.ajax({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            url: "default.aspx/HelloWorld",
            data: '{ "var2" : "' + textboxID + '", "var3" : "' + NewValue + '"}',
            dataType: "json",
            async: false,
            success: function (msj) {
                resultData = msj.d;                    
                return resultData;
            },
            error: function (e) {
                resultData = "error";
                return resultData;
            }             

        });
        return resultData;
    }


</script>
_
公共共享函数HelloWorld(var2作为字符串,var3作为字符串)
Dim tempData作为字符串=0
如果var2=“编辑主内容”,则
tempData=var3
dbValue(var2,var3)
ElseIf var2=“编辑第二个内容”然后
tempData=var3
其他的
返回0
如果结束
返回临时数据
端函数
公共共享函数dbValue(数据\u ID为字符串,数据\u值为字符串)
SqlDataSource1.InsertParameters(“datatext”).DefaultValue=数据值
SqlDataSource1.InsertParameters(“myID”).DefaultValue=data\u ID
SqlDataSource1.Insert()
返回“工作完成”
端函数
default.aspx页面代码

< WebMethod()> _
Public Shared Function HelloWorld(var2 As String, var3 As String)
    Dim tempData As String = 0

    If var2 = "edit_main_contents" Then
        tempData = var3
        dbValue(var2, var3)
    ElseIf var2 = "edit_second_contents" Then
        tempData = var3

    Else
        Return 0

    End If
    Return tempData
End Function

Public Shared Function dbValue(data_ID As String, data_value As String)

    SqlDataSource1.InsertParameters("datatext").DefaultValue = data_value
    SqlDataSource1.InsertParameters("myID").DefaultValue = data_ID
    SqlDataSource1.Insert()
    Return "job done"

End Function
$(document).ready(function () {
        $('.editable_textile').editable(function (value, settings) {
            var returnValue;
            var textboxID = $(this).attr('id');
            var returnValue = oGod(textboxID, value);
            return (returnValue);
        }
        , {
            width: '350',
            submit: 'Save Changes',
            cancel: 'Cancel',
            onBlur: 'ignore'
        });
    });
    function oGod(textboxID, NewValue) {
        var resultData;

        $.ajax({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            url: "default.aspx/HelloWorld",
            data: '{ "var2" : "' + textboxID + '", "var3" : "' + NewValue + '"}',
            dataType: "json",
            async: false,
            success: function (msj) {
                resultData = msj.d;                    
                return resultData;
            },
            error: function (e) {
                resultData = "error";
                return resultData;
            }             

        });
        return resultData;
    }


</script>
$(文档).ready(函数(){
$('.editable_textile')。可编辑(函数(值、设置){
风险价值;
var textboxID=$(this.attr('id');
var returnValue=oGod(textboxID,value);
返回值(returnValue);
}
, {
宽度:'350',
提交:“保存更改”,
取消:“取消”,
onBlur:“忽略”
});
});
函数oGod(textboxID,NewValue){
var结果数据;
$.ajax({
类型:“POST”,
contentType:“应用程序/json;字符集=utf-8”,
url:“default.aspx/HelloWorld”,
数据:“{”var2:“'+textboxID+'”,“var3:“'+NewValue+'”}”,
数据类型:“json”,
async:false,
成功:功能(msj){
结果数据=msj.d;
返回结果数据;
},
错误:函数(e){
resultData=“error”;
返回结果数据;
}             
});
返回结果数据;
}

共享方法
中调用
无共享方法
,必须创建该方法的实例

因此,您需要将
Shared
关键字分配给
dbValue()
,但您将无法在
Shared
方法中调用页面控件(在本例中为
SqlDataSource

如果您想返回一个DataTable并说填充一个控件,那么可以在ajax调用成功时返回一个对象和绑定列表

在您的例子中,我看到您只执行了一个insert,因此您可以从
dbValue()
函数运行存储过程或内联sql

例如:

string stmt = "INSERT INTO Your Table";//you can paste the SqlDataSource query here

SqlCommand cmd = new SqlCommand(smt, _connection);
//your parameters
cmd.Parameters.Add("@datatext", SqlDbType.Int).Value = data_value; 
cmd.Parameters.Add("@myID", SqlDbType.VarChar, 100).Value = data_ID;
cmd.ExecuteNonQuery();

如果我把“公共共享函数dbValue”放进去,它就会显示SqlDataSource1的错误。如果我只放了“function dbValue”,那么它不会在SqlDataSource1上显示错误,而是在dbValue上显示错误(var2,var3)。谢谢您的建议。我不是一个像存储过程或内联sql那样编写代码的程序员。如果您能给我提供一些链接,我们将不胜感激。我也在谷歌上搜索。@JasbirBhinder查看示例(我没有测试过,所以可能有语法错误)。。。