从控件外部更改用户控件中的图像按钮

时间:2017-12-26 00:33:19

标签: asp.net user-controls

在Visual Studio中,我构建了一个ASP.NET用户控件,它构成了一个图像按钮。它的图像文件现在是1.jpg。我想通过点击主框架中的(常规)按钮将其变成2.jpg。我怎么能这样做(在c#中)?

2 个答案:

答案 0 :(得分:0)

最简单的方法是通过FindControl("Id")ImageButton

中挖出UserControl

UsrCtrl.ascx

<%@ Control Language="C#" AutoEventWireup="true" 
    CodeBehind="UsrCtrl.ascx.cs" Inherits="WebLab.UsrCtrl" %>
<asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/Images/1.jpg" />

Default.aspx的

<form id="form1" runat="server">
    <div>
        <uc1:UsrCtrl runat="server" id="UsrCtrl1" />
        <asp:Button ID="Button1" runat="server" Text="Button" 
            OnClick="Button1_Click" />
    </div>
</form>

按钮单击

protected void Button1_Click(object sender, EventArgs e)
{
    var imgBtn = UsrCtrl1.FindControl("ImageButton1") as ImageButton;
    imgBtn.ImageUrl = "~/Images/2.jpg";
}

您可以将ImageButton设为UserControl的公共财产,以便更直观地访问。

答案 1 :(得分:0)

UsrCtrl中添加公共属性,例如ImageUrl

```

public string ImageUrl
{
    get
    {
        return this.ImageButton1.ImageUrl;
    }
    set
    {
        this.ImageButton1.ImageUrl = value;
    }
}

```

然后,在Button1_Click方法中,使用this.UsrCtrl.ImageUrl = "~/Images/2.jpg";

我希望我能正确理解你的问题。