嗨,我试图找出一种将mysql内容写入html代码的方法:

我的ASP页面上有一个名为<div id="test1"></div>的区域(该区域是静态的)

我想从表中获取内容并将代码放置在该div中的另一个div名称下(div id = sqlcontent)

所以看起来像这样:

<div id="test1">
        <div id="mysqlcontent">something the user would write which is stored in my db</div>
</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.Odbc;
using System.Web.UI.HtmlControls.HtmlGenericControl;

public partial class UserProfileWall : System.Web.UI.Page
{

    protected void Page_Load(object sender, EventArgs e)
    {

        string theUserId = Session["UserID"].ToString();
        //Label1.Text = Convert.ToString(theUserId);

        using (OdbcConnection cn = new OdbcConnection("Driver={MySQL ODBC 3.51 Driver}; Server=localhost; Database=gymwebsite2; User=x; Password=x;"))
        {
            cn.Open();
            using (OdbcCommand cmd = new OdbcCommand("SELECT WallPosting.Wallpostings FROM WallPosting LEFT JOIN WallPosting ON User.UserID = WallPosting.UserID WHERE User.UserID=" + theUserId + "", cn))
            //{

            //    cmd.Parameters.AddWithValue("@UserID", theUserId);


            using (OdbcDataReader reader = cmd.ExecuteReader())
            {
                var divHtml = new System.Text.StringBuilder("<div id=mysqlcontent>");
                while (reader.Read())
                {
                    divHtml.Append(String.Format("{0}", reader.GetString(0)));
                }

                divHtml.Append("</div>");
                test1.innerHtml = divHtml.ToString();
// error on this line innerHtml does not contain a definition for'innerHtml'?
            }
        }
    }


不确定是否可以使用ASP中的C#来做到这一点,所以我尝试通过jcase尝试以下方式?但是不确定如何用j编写吗?

$(function () {

    $(page load).**unsure what goes here**(function () {
        var x = $(retrieve some data from mysql table unsure if jquery can do this).val();
        var newdiv = $("<div></div>").html(x).attr('id', 'mysqlcontent');
        $('#test1').append(newdiv);
    });
});


ASP HTML:

</script>
<p>
    <asp:TextBox ID="TextBox1" name="TextBox1" runat="server" Rows="3"
        Height="47px" Width="638px"></asp:TextBox>
</p>
<p>
    <asp:Button ID="Button1" runat="server" Text="Post Message" Width="98px"
        onclick="Button1_Click" />
    </p>
<p>
    <asp:Table ID="Table1" name="Table1" runat="server" Width="488px"></asp:Table>
</p>

<div id="test1" runat="server" />

</asp:Content>

最佳答案

对于基本的C#实现,如果用runat="server"标记test1 div ...

<div id="test1" runat="server" />


...那么您可以在后面的代码中引用它...

protected global::System.Web.UI.HtmlControls.HtmlGenericControl test1;


...并且可以在设置内容之前使用DataReader构建内容

// prepare DataReader
var divHtml = new System.Text.StringBuilder("<div id=mysqlcontent>")
while (reader.Read()) {
   divHtml.Append("something built from your database text");
}
divHtml.Append("</div>")
test1.InnerHtml = divHtml.ToString();

08-06 04:29
查看更多