如何使用JQuery创建LinkBut​​ton

时间:2011-10-24 08:20:43

标签: jquery asp.net ajax

我有一个使用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>

实际上,我需要生成一种LinkBut​​ton客户端,因为我需要在PostBack上进行一些服务器端操作。我不知道如何用JQuery来表达它。

我希望我的问题很明确。

非常感谢!

2 个答案:

答案 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中。