C# 无法在客户端呈现Json字符串

C# 无法在客户端呈现Json字符串,c#,asp.net,json,jquery,json.net,C#,Asp.net,Json,Jquery,Json.net,ascx.cs 受保护的字符串BindData() { 列表产品=product.GetRepeaterData(prod); 字符串json=JsonConvert.SerializeObject(产品); 返回json; } ascx 函数doSomething(){ $.ajax({ 类型:“POST”, url:“/ProgramListSimple.aspx/BindData”, 数据:“{}”, contentType:“应用程序/json;字符集=utf-8”, 数据类型:“

ascx.cs

受保护的字符串BindData()
{
列表产品=product.GetRepeaterData(prod);
字符串json=JsonConvert.SerializeObject(产品);
返回json;
} 
ascx


函数doSomething(){
$.ajax({
类型:“POST”,
url:“/ProgramListSimple.aspx/BindData”,
数据:“{}”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(msg){
警报(msg);
}
});
};

我看不到任何警报。我不知道ajax函数是否正在执行它应该执行的操作。此代码用于用户控制&不在aspx页面上。这有关系吗?在调试时,我能够看到json字符串中的序列化数据。只是它没有在客户端进行渲染…从早上开始处理它现在我需要一些帮助..任何示例或任何文档也可能有用..

您必须使用
d
属性

 <script type="text/javascript" language="javascript">
function doSomething() {

    $.ajax({
        type: "POST",
        url: "/ProgramListSimple.aspx/BindData",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {
            alert(msg);
        }
    });
 };
如果使用Chrome或Firefox进行调试,请使用以下命令检查JavaScript对象:

alert(msg.d);

在Chrome中按Ctrl+Shift+J以显示开发者控制台

我创建了一个新的aspx页面。将所有代码隐藏逻辑从ascx.cs传输到aspx.cs。用户刚刚使用ajax回调从我的ascx页面调用了aspx页面的url

console.log("%o", msg);
键入:“获取”,
url:“”,
数据:数据对象,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(数据)

我只是添加了修复程序的一小部分,这对这个工作非常重要,然后添加了一些东西,使ascx页面从apsx页面继承属性。。。。但我认为这主要与我的代码有关…因此我希望这对将来的人有所帮助…感谢所有试图提供帮助的人。

使用
console.log()
而不是
alert()
,您将能够在调试器控制台中看到整个JSON对象<代码>警报()只能显示字符串。@Blazemonger不工作。。。即使在控制台中我也看不到它。这表明
/ProgramListSimple.aspx/BindData
正在返回一个空文件。
success:function(msg){console.log(msg);}
应该向您显示该脚本通常显示的内容。@Blazemonger有没有调试它的方法?问题是PageMethod声明,它不是静态的,也不是公共的。为了调试它,我强烈建议您安装console.log(“%o”,msg);ReferenceError:msg未定义我在控制台中收到此错误消息,请将该行替换为
警报(“msg”)
就在
success
函数的下方@Scorpio,你是否将
console.log
添加到
success
处理程序中?是的,我成功了:function(msg){console.log(“%o”,msg);}我的绑定函数错了吗?我的意思是它需要是一个静态方法还是什么的??
console.log("%o", msg);
        type: "GET",
        url:'<%=VirtualPathUtility.ToAbsolute("~/ProgramListSimpledetail.aspx") %>',
        data: dataObject,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (data)