2011-10-24 18 views
0

私は、ASP.NET WebFormsとJQueryを使用してアプリケーションを構築しました。私の.aspxページには、クリックするとページのコードビヘイビア内のWebメソッドにJQuery AJAXリクエストが発行され、データベースからデータを読み取り、JSONオブジェクトとして返すリンクがあります。JQueryを使用してLinkBut​​tonを作成する方法

$.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]; 
     } 
    } 
}); 

今まですべてOKです!実際に

<li><a id="..." href="javascript:doPostback(...)">...</a></li> 

、私はLinkBut​​tonコントロールクライアント - の並べ替えを生成する必要があります。問題は、私はそれらのそれぞれのために、私はそのようなHTMLを生成したいと思いますので、ページに、このJSONオブジェクトを書きたいときに生じます私はPostBackに対していくつかのサーバーサイドアクションを行う必要があるからです。私はJQueryを使ってこれを表現する方法を知らない。

私の質問がはっきりしていることを願っています。

ありがとうございました!

答えて

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にロードします。

+0

これは問題ありませんが、これらの括弧の間にコードが必要です:link.attr( 'href'、 'javascript:doPostback(...)'); :D問題は、ポストバック(引数付き)の発行方法がわかりません。 – Alessandro

+0

こんにちは、JSONの結果から引数を取る新しい関数doPostbackを作成します。EDIT:ex function doPostback(str){alert( 'あなたは+ strを選択しました。 } – NeoStar

+0

これはASP.NETポストバックではありません。 – Alessandro

1

JSONオブジェクトをOKに戻していますか?これらの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); 
    } 
} 
... 

は、この情報がお役に立てば幸いです:これはあなたのJSONオブジェクトに返されますが、なぜこのような何かをしようとしていないされている情報に応じて、大規模な仮定かもしれません! :)

+0

これは問題ありませんが、これらのかっこの間にコードが必要です:link.attr( 'href'、 'javascript:doPostback(...)'); :D問題は、ポストバック(引数付き)の発行方法がわかりません。 – Alessandro

+0

通常のHTMLではほとんど同じです。したがって、もし私の関数名が "awesomeFunction"と呼ばれ、2つの引数、つまり両方の文字列を受け取るならば、これを行うことができます: 'link.attr( 'href'、 'javascript:awesomeFunction(" first-string "、" second-string " ) '); ' –

+0

また、onclick関数を' link.attr(' href '、' return false ')に適用してください(function(){awesomeFunction( "first-string"、 "second-string")}) ; ' –

関連する問題