2011-01-31 8 views
0

私は何をしたいかを得るためにページメソッドを使用してasp.net jqueryのものを使用することができません。 は、私は私がからデータを取得していますシンプルなテーブルを持っていますが、誰もがASP.NETでJquery - 私のページメソッドは、すべてのレコードを返していません

<script type="text/javascript"> 
    $(document).ready(function() {   
     $.ajax({ 
      type: "POST", 
      contentType: "application/json; charset=utf-8", 
      data: "{}", 
      url:"page.aspx/Comms", 
      dataType: "json", 
      success: function(data) { 
       if (data.hasOwnProperty("d")) 
        DoSomething(data.d); 
       else 
        DoSomething(data); 

      } 
    }); 

    function DoSomething(msg) { 
     //$("quote_wrap").append(msg); 
     var SComms = msg; 
     $('quote_wrap').append 

     //I can only get one record here 
     alert(SComms.Title); 
    }   
    }); 

</script> 

[WebMethod] 
public static SComms comms() 
{ 
    SComms c = new SComms(); 
    string connect = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; 
    string query = "select * from dbo.Comms where dateadd(dd, datediff(dd, 0, created), 0) = dateadd(dd, datediff(dd, +10, getdate()), 0) order by 2"; 

     using (SqlConnection conn = new SqlConnection(connect)) 
     { 
      using (SqlCommand cmd = new SqlCommand(query, conn)) 
      { 

       conn.Open(); 
       SqlDataReader rdr = cmd.ExecuteReader(); 
       if (rdr.HasRows) 
       { 
        while (rdr.Read()) 
        { 
         c.ListID = rdr["ListID"].ToString(); 
         c.ListID = rdr["Title"].ToString(); 
        } 
       } 
      } 
     } 
    //} 
    return c; 
} 

Javascriptを事前に 感謝を助けることができる場合、私は唯一の1行は、以下の私のaspx page.Codeでページメソッドから返されます出力は、例えばあるとして私が欲しいもの

<blockquote> 
    <p>Ut eu consectetur nisi. Praesent facilisis diam nec sapien gravida non mattis justo imperdiet. Vestibulum nisl urna, euismod sit amet congue at, bibendum non risus.</p> 
    <cite>– Quote Author (Quote 1)</cite> 
</blockquote> 

答えて

0

私はそこにあなたのSCommsオブジェクトの内部のことは知らないが、それはDOEあなたは1つ以上のレコードを作成するために何かをしているように見えません。 1つのオブジェクトのListIDプロパティを繰り返し設定するだけです。

SCommsは通常のクラスであり、あなたはそれらのコレクションを返したい場合は、このような何かがあります

[WebMethod] 
public static SComms comms() 
{ 
    var result = new List<SComms>(); 

    string connect = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; 
    string query = "select * from dbo.Comms where dateadd(dd, datediff(dd, 0, created), 0) = dateadd(dd, datediff(dd, +10, getdate()), 0) order by 2"; 

    using (SqlConnection conn = new SqlConnection(connect)) 
    { 
    using (SqlCommand cmd = new SqlCommand(query, conn)) 
    {    
     conn.Open(); 
     SqlDataReader rdr = cmd.ExecuteReader(); 

     // No need to test for HasRows first. If there aren't any, 
     // the while won't execute and the method will return 
     // an empty array which is easy to test for on the client-side. 
     while (rdr.Read()) 
     { 
     var c = new SComms(); 

     c.ListID = rdr["ListID"].ToString(); 
     c.Title = rdr["Title"].ToString(); 

     result.Add(c); 
     } 
    } 
    } 

    return result; 
} 
関連する問題