1

データベースから取得しているプロパティのリストを表示しています。私は従来の ASP での作業に慣れており、単純に DB への接続を作成し、結果をループして次のように表示します。

私の質問は、.NET でも同じことを行うべきか、データを要素にバインドするべきかということです。結果をスタイル付きの div に表示したいので、結果をループすることを好みます。

ここに私のコードがあります:

       SqlConnection conn = new SqlConnection(
        "Data Source=xxxx;Initial Catalog=Rets_Full_local;Integrated Security=True");
        SqlDataReader rdr = null;

       try
       {
           conn.Open();

           // 3. Pass the connection to a command object
           SqlCommand cmd = new SqlCommand(
               "select * from RETS_Listings_full" +
               " WHERE 1 =1 " + sqlWhere
               , conn);

           rdr = cmd.ExecuteReader();

           String resultsDiv = "";

           while (rdr.Read())
           {
               String rdr_MLSNUM = (rdr["MLSNUM"]).ToString();
               String rdr_SYSID = (rdr["SYSID"]).ToString();
               String rdr_LISTPRICE = (rdr["LISTPRICE"]).ToString();
               String rdr_PropType = (rdr["PROPTYPE"]).ToString();
               String rdr_Beds = (rdr["beds"].ToString());
               String rdr_BathsFull = (rdr["BATHSFULL"].ToString());
               String rdr_BathsHalf = (rdr["BATHSHALF"].ToString());
               String rdr_AREA = (rdr["AREA"]).ToString();
               String rdr_STREETNUM = (rdr["STREETNUM"]).ToString();
               String rdr_STREETNAME = (rdr["STREETNAME"]).ToString();
               String rdr_City = (rdr["CITY"]).ToString();
               String rdr_View = (rdr["VIEWDESC"]).ToString();

               resultsDiv += "<div class='row-fluid'>";
               resultsDiv += "<div class='span4'>";
                resultsDiv += " <img src='http://www.hiltonheadrealestates.com/listings/Photo" + rdr_SYSID + "-1.jpeg' width='250px'>";
            resultsDiv += "</div>";
            resultsDiv += " <div class='span8' >";
                resultsDiv += "List Price:  $" + rdr_LISTPRICE +"<br />";
                resultsDiv += "Property Type: " + rdr_PropType +"<br />";
                resultsDiv += "Address : " + rdr_STREETNUM + " " + rdr_STREETNAME + "<br />";
                resultsDiv += "Location : " + rdr_City + "<br />";
                resultsDiv += "Area : " + rdr_AREA + "<br />";
                resultsDiv += "Bedrooms: " + rdr_Beds  + "<br />";
                resultsDiv += "Full Baths: " +rdr_BathsFull+    "<br />";
                resultsDiv += "Half Baths: " +rdr_BathsHalf+"<br />";
                resultsDiv += "View: " + rdr_View + "<br />";
            resultsDiv += "   </div>";
            resultsDiv += "   </div> <hr>";



           }

           // print results to div
           if (rdr == null || !rdr.HasRows)
           {
               div_Results.Text = "No Results - Please click <a href='/'>here</a> to search again";
           }
           else
           {
               div_Results.Text = resultsDiv;
           }
           // End print results to div

       }
       finally
       {
           // close the reader
           if (rdr != null)
           {
               rdr.Close();
           }

           // 5. Close the connection
           if (conn != null)
           {
               conn.Close();
           }
       }
   }
4

1 に答える 1

1

バインド可能なコントロールを使用する必要があります。ほとんどのビジネス ロジックをコード ビハインド (.aspx.cs ファイル) に保持し、プレゼンテーション ロジックを aspx (.aspx ファイル) に保持する

Repeater は、コレクションを表示し、マークアップを完全に制御するための最も単純なコントロールです。

ASP.NET へようこそ

于 2013-02-04T16:32:37.960 に答える