C# 如何使用asp.net制作评论回复系统。?
我想在一个div上显示一个帖子,然后在下面显示该帖子的回复,并连续显示另一个帖子和回复。。。 我做了这么多,但这并没有显示期望的输出C# 如何使用asp.net制作评论回复系统。?,c#,asp.net,c#-4.0,C#,Asp.net,C# 4.0,我想在一个div上显示一个帖子,然后在下面显示该帖子的回复,并连续显示另一个帖子和回复。。。 我做了这么多,但这并没有显示期望的输出 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data.S
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
public partial class Default3 : System.Web.UI.Page
{
int i = 0;
SqlConnection con = new SqlConnection("server=LOD-PC;uid=sa;pwd=1234;database=db2");
protected void Page_Load(object sender, EventArgs e)
{
con.Open();
SqlCommand cmd = new SqlCommand("select * from t3 ORDER by id DESC", con);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
i++;
string name = dr["name"].ToString();
string image1 = dr["img"].ToString();
string image2 = image1.Substring(2).ToString();
string id = dr["id"].ToString();
string status = dr["status"].ToString();
string buttonid = i.ToString();
Response.Write("<div id='myDiv' class='myDivClass'> <img src='" + image2 + "' style='width:50px; height:50px; float:left; margin-right:6px;' /> <br/> <br/> <span class='name'> <input id='texta' class='texta' type='text' value=" + name.ToString() + " /> <span/> <span class='id'> <input id='textb' class='textb' type='text' value=" + id.ToString() + " /> <span/> <div id='g'><br/><br/><br/><span class='status'> " + status + " </span> <span class='combutton'> <input id='"+buttonid+"' class='button' type='button' value='Comment'/> </span> </div> </div>");
}
con.Close();
}
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
使用System.Web.UI;
使用System.Web.UI.WebControl;
使用System.Data.SqlClient;
公共部分类Default3:System.Web.UI.Page
{
int i=0;
SqlConnection con=newsqlconnection(“server=LOD-PC;uid=sa;pwd=1234;database=db2”);
受保护的无效页面加载(对象发送方、事件参数e)
{
con.Open();
SqlCommand cmd=新的SqlCommand(“按id DESC从t3订单中选择*”,con);
SqlDataReader dr=cmd.ExecuteReader();
while(dr.Read())
{
i++;
字符串名称=dr[“name”].ToString();
字符串image1=dr[“img”].ToString();
字符串image2=image1.Substring(2.ToString();
字符串id=dr[“id”].ToString();
字符串状态=dr[“status”].ToString();
string buttonid=i.ToString();
响应。写入(“
”+状态+”;
}
con.Close();
}
}
基于SQL查询输出HTML时,您没有引用文本作为值:
value=" + id.ToString() + " />
那应该是
值=“+id.ToString()+”/>
除此之外,您还必须提供更多信息,说明哪些内容没有按您预期的那样出现。不过,我可以谈谈以下几点:
Response.Write(“任何asp标记”)
ASP标记是在服务器端而不是客户端处理的。将它们写入响应不会导致执行它们。如果您在浏览器中查看HTML上的源代码,您将在HTML源代码中看到标记,但它们对浏览器没有任何特殊意义
请处理实现IDisposable的东西,例如SqlConnection、SqlCommand和SqlDataReader。使用关键字是达到目的的方法。例如
SqlConnection con = new SqlConnection("server=LOD-PC;uid=sa;pwd=1234;database=db2");
线路
con.Close();
如果在访问数据库时引发异常,则不会执行
相反,请使用表单
using (SqlConnection con =
new SqlConnection("server=LOD-PC;uid=sa;pwd=1234;database=db2"))
{
// Do stuff with the connection
}
当using块超出范围时,它将自动调用con.Dispose()
(无论块内是否引发异常),这反过来将调用con.Close()
服务器=LOD-PC;uid=sa
请不要与
sa
用户连接。这就是要求安全裤。以及我使用Response.Write(“任何asp标记”)时;如果您不让我们猜测它显示了什么以及输出有什么问题,您将得到更好的帮助。一般来说,不要在页面中使用Response.Write()
。改用web控件。