在Visual Studio中,我构建了一个ASP.NET用户控件,它构成了一个图像按钮。它的图像文件现在是1.jpg。我想通过点击主框架中的(常规)按钮将其变成2.jpg。我怎么能这样做(在c#中)?
答案 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";
。
我希望我能正确理解你的问题。