C# 显示数据库查询的结果-我需要绑定吗?
我正在显示从数据库中获取的属性列表。 我习惯于在经典ASP中工作,只需创建一个到DB的连接,然后循环遍历结果并像这样显示它们 我的问题是,我应该在.NET中执行同样的操作,还是应该将数据绑定到元素?我更喜欢在结果中循环,因为我希望在带有样式的div中显示结果 这是我的密码:C# 显示数据库查询的结果-我需要绑定吗?,c#,asp.net,.net,C#,Asp.net,.net,我正在显示从数据库中获取的属性列表。 我习惯于在经典ASP中工作,只需创建一个到DB的连接,然后循环遍历结果并像这样显示它们 我的问题是,我应该在.NET中执行同样的操作,还是应该将数据绑定到元素?我更喜欢在结果中循环,因为我希望在带有样式的div中显示结果 这是我的密码: SqlConnection conn = new SqlConnection( "Data Source=xxxx;Initial Catalog=Rets_Full_local;Integra
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();
}
}
}
SqlConnection conn=新的SqlConnection(
“数据源=xxxx;初始目录=Rets_Full_local;集成安全=True”);
SqlDataReader rdr=null;
尝试
{
conn.Open();
//3.将连接传递到命令对象
SqlCommand cmd=新的SqlCommand(
“从RETS\u列表中选择*已满”+
“其中1=1”+sqlWhere
康涅狄格州);
rdr=cmd.ExecuteReader();
字符串resultsDiv=“”;
while(rdr.Read())
{
字符串rdr_MLSNUM=(rdr[“MLSNUM]”)。ToString();
字符串rdr_SYSID=(rdr[“SYSID”])。ToString();
字符串rdr_LISTPRICE=(rdr[“LISTPRICE”])。ToString();
字符串rdr_PropType=(rdr[“PropType”])。ToString();
字符串rdr_Beds=(rdr[“Beds”].ToString());
字符串rdr_BathsFull=(rdr[“BathsFull”].ToString());
字符串rdr_BathsHalf=(rdr[“BathsHalf”].ToString());
字符串rdr_AREA=(rdr[“AREA”])。ToString();
字符串rdr_STREETNUM=(rdr[“STREETNUM”])。ToString();
字符串rdr_STREETNAME=(rdr[“STREETNAME]”)。ToString();
字符串rdr_City=(rdr[“City”])。ToString();
字符串rdr_View=(rdr[“VIEWDESC”])。ToString();
结果div+=“”;
结果div+=“”;
结果div+=“”;
结果div+=“”;
结果div+=“”;
resultsDiv+=“标价:$”+rdr_LISTPRICE+“
”;
resultsDiv+=“属性类型:”+rdr_PropType+“
”;
resultsDiv+=“地址:”+rdr_STREETNUM+“+rdr_STREETNAME+”
”;
resultsDiv+=“地点:”+rdr_City+“
”;
结果div+=“面积:”+rdr_面积+“
”;
结果div+=“卧室:”+rdr_床+“
”;
resultsDiv+=“全浴:”+rdr_-BathsFull+“
”;
结果DIV+=“半浴:”+rdr_-BathsHalf+“
”;
resultsDiv+=“视图:”+rdr_视图+“
”;
结果div+=“”;
结果div+=“
”;
}
//将结果打印到div
if(rdr==null | |!rdr.HasRows)
{
div_Results.Text=“无结果-请单击再次搜索”;
}
其他的
{
div_Results.Text=resultsDiv;
}
//结束打印结果到div
}
最后
{
//关闭阅读器
如果(rdr!=null)
{
rdr.Close();
}
//5.关闭连接
如果(conn!=null)
{
康涅狄格州关闭();
}
}
}
您应该使用可绑定控件。将大部分业务逻辑保留在codebehind(即.aspx.cs文件)中,将表示逻辑保留在aspx(即.aspx文件)中
Repeater是显示集合和保持对标记的完全控制的最简单控件
欢迎使用ASP.NET您应该使用可绑定控件。将大部分业务逻辑保留在codebehind(即.aspx.cs文件)中,将表示逻辑保留在aspx(即.aspx文件)中 Repeater是显示集合和保持对标记的完全控制的最简单控件
欢迎使用ASP.NET谢谢-因此,如果我使用转发器绑定到,我仍然能够将结果作为单独的输出吗?我不希望结果像使用网格时那样是一个表。@user947513:是的,使用中继器,您可以完全控制标记。该转发器不会生成除您编写的标记以外的任何其他标记-因此,如果我使用转发器绑定到,我仍然能够将结果作为单独的标记输出吗?我不希望结果像使用网格时那样是一个表。@user947513:是的,使用中继器,您可以完全控制标记。中继器不会生成除您编写的标记以外的任何其他标记