首先给代码,问题很简答,可以直接看下面的问题protected void bt_Search_Click(object sender, EventArgs e)
    {
        string strConnection = @"Provider=Microsoft.Jet.OleDb.4.0;Data Source=D:\my web\jxky\db\newstuinfo.mdb";
        using (OleDbConnection conn = new OleDbConnection(strConnection))
        {
            conn.Open();
            string sql = "select * from stuinfo where XM=@Name and SFZH=@ID";
            using(OleDbCommand cmd = new OleDbCommand(sql,conn))
            {
                cmd.Parameters.AddWithValue("@Name",tb_Name.Text);
                cmd.Parameters.AddWithValue("@ID",tb_ID.Text);
                using(OleDbDataReader dr = cmd.ExecuteReader())
                {
                    if (dr.HasRows)
                    {
                       StringBuilder htmlStr = new StringBuilder();
                        htmlStr.Append("<table border='1' cellPadding='5' cellSpacing='0' style='font:宋体;font-size:9pt'>");
                        htmlStr.Append("<tr style='background-color=#f0f0f0'>");
                        for (int i = 0; i < dr.FieldCount; i++)
                        {
                            htmlStr.Append(string.Format("<td><strong>{0}</strong></td>",dr.GetName(i)));
                        }
                        htmlStr.Append("</tr>");
                        while(dr.Read())
                        {
                            htmlStr.Append("<tr>");
                            for (int i = 0; i < dr.FieldCount;i++ )
                            {
                                htmlStr.Append(string.Format("<td>{0}</td>", dr.GetValue(i)));
                            }
                            htmlStr.Append("</tr>");
                        }
                        htmlStr.Append("</table>");
                        Response.Write(htmlStr);
                    }
                }
            }
        }
    }在上面的代码中,最后一句执行后显示的位置都是在页面的顶部的,如何才能让它显示在我想放的地方?(比如就bt_Search按钮的下一行)
新学不懂,请前辈赐教!谢谢!

解决方案 »

  1.   

    还有就是while(dr.Read())
                            {
                                htmlStr.Append("<tr>");
                                for (int i = 0; i < dr.FieldCount;i++ )
                                {
                                    htmlStr.Append(string.Format("<td>{0}</td>", dr.GetValue(i)));
                                }
                                htmlStr.Append("</tr>");
                            }
    这个while循环用来遍历所有的返回的行,若确定每次只返回一行的,是否可以取消这个循环?
      

  2.   

    你可以用一个panel你把这个panel放在你想的位置.
    在把你生成的生成字符串放到panel里面就行了www.91aspx.net
    aspx.net源码下载
      

  3.   

    就是这个不会啊,
    Response.Write(<Panel>htmlStr</Panel>);?