-3

我想在 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.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();
        }
    }
4

1 回答 1

0

根据您的 SQL 查询输出 HTML 时,您没有引用值的文本:

value=" + id.ToString() + " />

那应该是

    值='" + id.ToString() + "' />

除此之外,您还必须提供更多关于未按预期显示的信息。但是,我可以解决以下几点:

Response.Write("任何 asp 标签")

ASP 标记是在服务器端处理的,而不是在客户端处理的。将它们写入响应不会导致它们被执行。如果您在浏览器中的 HTML 上“查看源代码”,您会看到 HTML 源代码中的标签,但它们对浏览器没有任何特殊意义。

请丢弃实现 IDisposable 的东西,例如 SqlConnection、SqlCommand 和 SqlDataReader。using关键字是去那里的方法。例如与

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用户联系。那是要求安全马裤。

于 2013-04-02T18:17:56.513 回答