C# 无法在客户端呈现Json字符串
ascx.csC# 无法在客户端呈现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”, 数据类型:“
受保护的字符串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)