【问题标题】:Creating Button and OnClick Event from c# side - asp.net从 c# 端创建按钮和 OnClick 事件 - asp.net
【发布时间】:2017-08-25 14:00:00
【问题描述】:

我像这样从 c# 端创建一个按钮:

content += "<button class='btn btn-info' runat='server' style='margin-left:4%' id='Like" + dr[0] + "' onclick='likeClick'>";

这个事件真的很简单,我只是想看看它是否有效:

protected void likeClick(object sender, EventArgs e)
{
    content = sender.ToString();
}

但是当我单击按钮时它不会触发事件,我在事件中设置了一个断点并进行了调试,但它没有启动功能。我在浏览器中打开了 Inspect Element 并单击了按钮。它向我展示了这一点:

我在这里做错了什么?

【问题讨论】:

  • 你要使用html按钮还是ASP按钮
  • 我都试过了,但是没有用。我想我更喜欢asp按钮。
  • 我试图这样做,但我想如何将它添加到内容变量中?因为我不能像这样content += likeButton; 我也可以在里面放html标签吗?像这样:likeButton.Text = "&lt;span class='glyphicon glyphicon-thumbs-up' style = 'font-size:250%; color:white'&gt;&lt;/span&gt;&lt;span style='color:white;'&gt; 23 &lt;/span&gt;";内容变量在aspx端&lt;%=content %&gt;Ty帮忙!
  • 也许我应该用html按钮来做?

标签: c# html asp.net button onclick


【解决方案1】:

我了解到您想动态创建一个Button 服务器控件。你创造的方式是错误的。您必须实例化一个Button 对象,声明Click 事件并将其添加到您的页面。此外,由于它是一个动态创建的控件,因此需要在每次回发时重新创建它。以下是类似场景的示例代码:

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <asp:PlaceHolder runat="server" ID="phControl" />
    </form>
</body>
</html>

    protected void Page_Load(object sender, EventArgs e)
    {
        Button btnButton = new Button();
        btnButton.Style.Add("margin-left", "4%");
        btnButton.ID = "like"+ dr[0];
        btnButton.Text = "Like";
        btnButton.Click += BtnButton_Click;
        phControl.Controls.Add(btnButton);
    }

    private void BtnButton_Click(object sender, EventArgs e)
    {
        string content = sender.ToString();
        Response.Write(content);
    }

【讨论】:

  • 我理解你的回答,但我需要在 div 中创建按钮,我有未知数量的 div,因为我动态地制作它们 - 为数据库上的每条记录创建 div。有可能这样吗?
  • 我不能那样做吗? content += "&lt;asp:Button class='btn btn-info' runat='server' style='margin-left:4%' ID='Like" + dr[0].ToString() + "' OnClick='likeClick'&gt;";
  • 不,您不能创建这样的服务器控件。即使您要创建 DIV,您也可以使用上面显示的相同机制
猜你喜欢
  • 2016-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-24
  • 1970-01-01
  • 1970-01-01
  • 2021-08-14
  • 1970-01-01
相关资源
最近更新 更多