使用htmltextwriter创建动态帖子并提交到数据库

时间:2017-03-13 13:19:55

标签: c# htmltextwriter

我已经创建了一个包含我从数据库中获取的动态帖子的页面。在每个帖子里面,我需要一个按钮,当用户点击它时,它会更改数据库中的值。

我尝试了很多不同的事情。最初我开始在HTML中呈现一个按钮,但是不知道如何让它与数据库交互。我已经看过向数据库提交的AJAX,但是我不知道如何将它放在我的代码中。

我也看过这个Insert Link Button In String Builder,但我无法让它发挥作用。我已经读过onClick属性如果我这样做就不会工作,所以这让我回到了AJAX。

由于这些按钮是动态生成的,我不知道如何做到这一点。即使有人能指出我正确的方向,我也非常感激。

这是我的代码的简化版本:

protected override void Render(HtmlTextWriter writer)
{
    using (SqlConnection conn = new SqlConnection(constring))
    {
        SqlDataAdapter ada = new SqlDataAdapter("SELECT postid, title, text, date FROM Posts", conn);
        conn.Open();
        DataTable dt = new dt();
        ada.Fill(table);

        //dynamic posts
        foreach (DataRow row in dt.Rows)
        {
            writer.AddAttribute("class", "col-sm-6 col-xs-6");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            //main post content
            writer.WriteLine(row["date"].ToString());
            writer.WriteLine("<h1>" + row["title"].ToString() + "</h1>");
            writer.WriteLine("<p>" + row["text"].ToString() + "</p>");
            //writer.Write("<button id='postbtn" + row["postid"].ToString()'">Read Post</button>");

            writer.RenderEndTag();
            writer.WriteLine();
        }
        conn.Close
    }
}

1 个答案:

答案 0 :(得分:0)

要发布您需要的有效表单,请将您的按钮放在表单标记内,并将正确的操作设置为指向您的控制器方法。

首先,使用action属性渲染表单标记,然后在其中呈现所有必要的控件,然后关闭表单标记。

https://www.w3schools.com/html/html_forms.asp