2016-08-09 17 views
1

IAMバインディング<%Eval( "message")%> divタグ内。リバーター内のデータセットを使用してdbからデータを取得しています。私が避けたいと思っているDB。データセットをバインドするためにJquery ajaxを使用することに決めました。私の問題は、divタグ内のデータセットをどのようにバインドできるかです。jQueryを使用してASP.Net DivタグにデータセットをバインドするAJAX

私のコードは次のとおりです。後ろに

​​

コード:

[WebMethod] 
    public static string GetMessages() 
    { 
     string query = "GetMessageData"; 
     SqlCommand cmd = new SqlCommand(query); 
     cmd.CommandType = CommandType.StoredProcedure; 
     return GetData(cmd).GetXml(); 
    } 
    private static DataSet GetData(SqlCommand cmd) 
    { 
     string strConnString = ConfigurationManager.ConnectionStrings["connectionng"].ConnectionString; 
     using (SqlConnection con = new SqlConnection(strConnString)) 
     { 
      using (SqlDataAdapter sda = new SqlDataAdapter()) 
      { 
       cmd.Connection = con; 
       sda.SelectCommand = cmd; 
       using (DataSet ds = new DataSet()) 
       { 
        sda.Fill(ds); 
        return ds; 

       } 
      } 
     } 
    } 

Javascriptを:

$(function() { 
    $.ajax 
    ({ 
     type: "POST", 
     url: "welcome.aspx/GetMessages", 
     data: '{}', 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: OnSuccess, 
     failure: function (response) { 
      alert(response.d); 
     }, 
     error: function (response) { 
      alert(response.d); 
     } 
    }); 
}); 

function OnSuccess(response) { 
    var xmlDoc = $.parseXML(response.d); 
    --Iam stuck Here-- 

}

成功はどのように私は私のデータセットをバインドすることができますもしそうならDIVしますリピータ内部のタグ。

+0

にリピーターを削除しないのはなぜ? –

+0

こんにちは、アプリケーションを投稿するメッセージのようなものです。もし私がメッセージを投稿すると、dbに格納され、リピーターによって投稿された日付順のバインドされたメッセージによって取り戻されます。以前は、Rep.DataSource = this.GetMessages();のようなコードでデータセットを使用してリピーターでバインドしていました。しかし、メッセージを投稿するたびに、ページの読み込みとデータの取得とそれを必要としないリピータでバインドしています。私はjquery ajaxメソッドを使用してリピータ内のデータをバインドすることにしましたが、コード内の行.. – havin

答えて

1

あなたが本当にしなければならないことは、$.ajax呼び出しによって返されたXMLをループし、結果をページの要素に追加することだけです。

1.Add <div id="result"></div>あなたのページのどこにでも。$.ajax呼び出しの出力をこの要素に書きます。

このような2.ChangeあなたOnSuccess()機能:

function OnSuccess(response) { 
    var xmlDoc = $.parseXML(response.d); 
    var length = xmlDoc.children[0].children.length; 
    $("#result").empty(); 

    for(var i = 0; i < length; i++) 
    { 
     var item = xmlDoc.children[0].children[i]; 
     var message = item.getElementsByTagName("message")[0].innerHTML; 
     var div = "<div><p>" + message + "</p></div>"; 
     $("#result").append(div); 
    } 
} 
+0

おかげで..私は詳細なコードで私の質問を編集しました。あなたはそれを調べることができます.. – havin

+0

私はあなたが私に見てほしいものを理解していない?それをコピーしてあなたのソリューションに貼り付けてデバッグする必要があります。 –

+0

ありがとうございます。 – havin

関連する問題