首页 > 解决方案 > 将数据存储到SQL Server数据库并动态生成html div并显示sql数据库内容c#

问题描述

此按钮会将我在文本框中输入的内容存储到我的 SQL Server 数据库中:

string aOption = Request.Form["option"].ToString();
string ATitle = Request.Form["title"].ToString();
string Adesc = Request.Form["desc"].ToString();

con = new SqlConnection(constr);
con.Open();

cmd = new SqlCommand("INSERT INTO Thread (shareORask, Thread_Title, Thread_Description) VALUES (@shareORask, @Thread_Title, @Thread_Description)", con);

cmd.Parameters.AddWithValue("@shareORask", askORshare_Selected);
cmd.Parameters.AddWithValue("@Thread_Title", AS_Title);
cmd.Parameters.AddWithValue("@Thread_Description", AS_desc);

cmd.ExecuteNonQuery();

con.Close();

接下来,我想动态生成 div 并显示数据库内容。我在页面加载中做到了。

protected void Page_Load(object sender, EventArgs e)
{
    SqlConnection con = new SqlConnection(constr);
    con.Open();

    SqlCommand cmd = new SqlCommand("Select * from Thread", con);

    SqlDataAdapter da = new SqlDataAdapter(cmd);
    DataSet ds = new DataSet();
    da.Fill(ds);

    reptater.DataSource = ds;
    reptater.DataBind();

    con.Close();
}

<asp:Repeater runat="server" ID="reptater">
    <ItemTemplate>
        <div><%#Eval("Thread_Description") %></div>
    </ItemTemplate>

它可以工作,但是当我将输入提交到文本框中时。我无法获取动态创建的数据。它仅在我刷新页面时有效。

但是,重复的数据会添加到我的 SQL Server 数据库中,我该如何解决这个问题?

标签: c#asp.net

解决方案


我假设按钮代码在一个名为MyButton_Click(object sender, EventArgs e).

按钮单击事件是“控制事件”,这些事件发生在页面生命周期中的 Page_Load 事件之后。要在单击事件期间插入数据库并在一个页面周期中呈现 div,您需要在稍后的事件之一中呈现 div,可能是 Page_PreRender 事件。


推荐阅读