0

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

我尝试了很多不同的东西。最初我开始用 HTML 渲染一个按钮,但不知道如何让它与数据库交互。我见过 AJAX 提交到数据库,但不知道如何将它放入我的代码中。

我还查看了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
    }
}
4

1 回答 1

0

为了发布您需要一个有效的表单,因此将您的按钮放在一个表单标签内,并设置正确的操作以指向您的控制器方法。

首先,使用它的 action 属性渲染表单标签,然后在里面渲染所有必要的控件,然后关闭表单标签。

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

于 2017-03-13T13:24:36.113 回答