ascx.cs
protected string BindData()
{
List<Product> products = product.GetRepeaterData(prod);
string json = JsonConvert.SerializeObject(products);
return json;
}
ASCX
<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);
}
});
};
我无法看到任何警报..我不知道ajax功能是否正在做它想做的事情。这个代码是用于用户控制&amp;不在aspx页面上那件事吗?在调试时,我能够在json字符串中看到序列化数据。它只是它不在客户端渲染....从早上开始工作我现在需要一些帮助..任何示例或任何文档也可以是有用的..
答案 0 :(得分:1)
您必须使用d
属性
alert(msg.d);
如果您使用Chrome或Firefox进行调试,请使用以下内容检查JavaScript对象:
console.log("%o", msg);
在Chrome中按 Ctrl + Shift + J 以显示开发者控制台
答案 1 :(得分:1)
我创建了一个新的aspx页面。将所有逻辑背后的代码从ascx.cs转移到aspx.cs。刚从我的ascx页面使用ajax回调
调用了aspx页面的url type: "GET",
url:'<%=VirtualPathUtility.ToAbsolute("~/ProgramListSimpledetail.aspx") %>',
data: dataObject,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data)
我刚刚添加了一小部分修复,这对于此工作非常重要,除此之外,为了使ascx页面从apsx页面继承属性,添加了大量内容....但我认为这主要与我的代码有关...所以我希望这有助于将来...感谢所有那些试图贡献的人..