Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/145.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
C# 如何从代码隐藏中向AJAX返回值?_C#_Asp.net_Ajax_Json - Fatal编程技术网

C# 如何从代码隐藏中向AJAX返回值?

C# 如何从代码隐藏中向AJAX返回值?,c#,asp.net,ajax,json,C#,Asp.net,Ajax,Json,可能重复: 这是我的AJAX代码 $.ajax({ type: 'POST', url: 'country_management.aspx/save', cache: false, data: "{'parameter':'paramValue'}", contentType: "application/json; charset=utf-8", dataType: "json",

可能重复:

这是我的AJAX代码

$.ajax({
        type: 'POST',
        url: 'country_management.aspx/save',
        cache: false,
        data: "{'parameter':'paramValue'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (data) {
                 alert(data.d);
                 if (data.d == "error") {
                    $('.success_box').hide();
                    $('.error_box').show();
                 }
                 else {
                    $('#name').val('');
                    $('.error_box').hide();
                    $('.success_box').show();
                 }
        }
});
代码隐藏:

[WebMethod]
[ScriptMethod]
public static string save(string parameter)
{
    string name = HttpContext.Current.Request.QueryString["name"].Trim();
    return "error";
}

在写入第一行之后,return语句不会向AJAX返回任何内容

因为您没有发布任何字段或属性“name” 如果在表单中单击按钮后执行ajax,则数据将被序列化表单


另一件事是,为什么要在查询字符串中使用“name”var,我看不到任何带有aspx的url?name=“any name”

如果不知道整个应用程序的上下文,就很难回答您的问题。(是否从应用程序的其他地方提供名称,您可以使用会话?)

但是,是什么阻止您在ajax调用中传递名称呢?而不仅仅是通过“参数”发送:“参数值”

您必须记住,查询字符串应该包含您要查找的参数。现在看起来有点像

当你真正需要的时候

例如

Javascript

$.ajax({
        type: 'POST',
        url: 'country_management.aspx/save',
        data: { parameter:'paramValue', name: 'newName'},
        success: function (data) { 
           //do something with the response
        }         

});
代码隐藏

[WebMethod]
[ScriptMethod]
public static string save(string parameter, string name)
{
    PerformSave(name, parameter);
    return "Data Saved!";
}
提示


试用此应用程序。当您处理ajax调用等事情时,它非常有用。实际上,任何web开发都是如此。:)

返回的不是JSON,而是一个普通字符串。检查此项。您确定
QueryString[“name”]
没有返回
null
?您是说它在这一行之后出错了吗?string name=HttpContext.Current.Request.QueryString[“name”].Trim();你真的只是为了这个目的创建了一个重复的帐户吗?@Rohan我返回了“error”只是为了检查它是否被返回。如果我不写第一行,return语句会返回。。。