ASP.Net UserControl,事件创建错误

时间:2018-07-03 07:00:34

标签: c# asp.net webforms user-controls aspx-user-control

我创建的用户控件包含一个和包装在html按钮中的按钮,以获取带有文本和图标的按钮。我希望能够像平常一样使用它们,所以我希望能够订阅apx标记中的click事件。到目前为止,Visual Studio确实为我创造了一个空白-但没有必要的参数(对象发送者,EventArgs e)。

您可以在下面找到代码片段

IconButton.ascx:

        <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="IconButton.ascx.cs" Inherits="Namespace.Controls.IconButton" %>
<button runat="server" id="btnWrapper" class="iconButton" onserverclick="btnWrapper_ServerClick">
    <asp:Label runat="server" ID="lblContent">
<%= this.Content %>
</asp:Label>
    <i class="material-icons" id="icon" runat="server"><%= this.MaterialIconName %> </i>
</button>`

IconButton.ascx.cs:

public partial class IconButton : System.Web.UI.UserControl
{
    public delegate void ClickEvent(object sender, System.EventArgs e);

    public string MaterialIconName { get; set; }
    public string Content { get; set; }

    public event ClickEvent ButtonClick;


    protected virtual void OnButtonClick(object sender, EventArgs e)
    {
        if (ButtonClick != null)
        {
            ButtonClick(sender, e);
        }
    }

    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void btnWrapper_ServerClick(object sender, EventArgs e)
    {
        this.OnButtonClick(sender, e);
    }
}

在WebForm中的用法:

<ctrl:IconButton ID="btnSearch2" runat="server" MaterialIconName="search" Content="Suche" OnButtonClick="btnSearch2_ButtonClick" />

Visual Studio创建的事件/无效:

    protected void btnSearch2_ButtonClick()
    {

    }

我要创建的内容

    protected void btnSearch2_ButtonClick(object sender, EventArgs e)
    {

    }

我知道我可以自己编辑方法定义,而且绝对不会有问题。但是由于不是只有我才能从事该项目,而且我也不想向所有我想要解决的人解释这种丑陋的行为。

任何想法都非常感谢!

0 个答案:

没有答案