我有一个使用ASP.NET WebForms和JQuery构建的应用程序。在我的.aspx页面中,我有一个链接,当点击它时,会向页面的代码隐藏中的WebMethod发出一个JQuery AJAX请求,该代码隐藏又从数据库读取数据并将其作为JSON对象返回。
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: 'Query.aspx/GetValues',
dataType: "json",
success: function (result) {
for (var i = 0; i < result.d.length; i++) {
var element = result.d[i];
}
}
});
一切都好,直到现在!当我想把这个JSON对象写到页面时会出现问题,因为对于每个JSON对象我想生成这样的HTML:
<li><a id="..." href="javascript:doPostback(...)">...</a></li>
实际上,我需要生成一种LinkButton客户端,因为我需要在PostBack上进行一些服务器端操作。我不知道如何用JQuery来表达它。
我希望我的问题很明确。
非常感谢!
答案 0 :(得分:1)
那么你正在返回JSON对象吗?你在那些JSON对象中返回什么样的信息?这可能是一个巨大的假设,取决于您的JSON对象中返回的信息,但为什么不尝试这样的事情:
...
success: function (result) {
for (var i = 0; i < result.d.length; i++) {
var element = result.d[i];
var link = $('<a />');
link.attr('href', 'javascript:doPostback(...)');
link.attr('id', 'some-id');
link.html('link-text-here');
var list_item = $('<li />');
list_item.append(link);
$('your-ordered-list-selector').append(list_item);
}
}
...
希望这有帮助! :)
答案 1 :(得分:0)
var element = '';
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: 'Query.aspx/GetValues',
dataType: "json",
success: function (result) {
for (var i = 0; i < result.d.length; i++) {
element+= '<a href="javascript:doPostback(...)">'+result.d[i]+'</a>';
}
$('#result-container').html(element);
}
});
此代码将创建链接并将html加载到result-container中。