将服务器端 onclick 事件添加到以编程方式创建的 div

Add serverside onclick event to programmatically created div

[编码 ASP.NET]

我正在创建一个页面,其中 div 是在代码隐藏中创建的,因为内容是从 SQL 数据库加载的。

我有一个 div,其中包含用户给当前数据的投票数,当您单击它时,我希望投票数增加一。这将需要执行查询并重新加载更新面板。 (我不要回发)

如何为以编程方式创建的 div 调用 c# 方法(使用查询)创建 onclick 事件?

经过一番挖掘,我发现了一个效果很好且易于实施的解决方案。

我必须以编程方式为活动创建一个 asp:Button:

Button divButton = new Button();
divButton.Attributes["style"] = "display:none;";
divButton.ID = "divBtn_" + id;
divButton.Text = id;
divButton.Click += divButton_Click;

当我创建可点击的 div 时,请执行以下操作:

div.Attributes.Add("onclick", "return divclick(" + sqlID + ");");

这会调用以下 javascript:

<script>
function divclick(id)
{
    var button = document.getElementById('divBtn_' + id);
    button.click();

    return false;
}
</script>

它调用一个按钮,该按钮使用 id 执行我的 sql 查询。