C#:查找 ImageButton 的字符串 ID 并更新 imageURL
本文关键字:ID 更新 imageURL 字符串 查找 ImageButton | 更新日期: 2023-09-27 18:31:57
我需要在 C# 中更新给定 ID 的 imageButton 的 imageURL?我尝试使用:FindControl(),但我得到了一个空值作为结果
在 ASPX 页面中
<asp:ImageButton ID="imgBtn1" runat="server" ImageUrl="Cards/1.gif" onClick="Image_Click"/>
在 C# 代码中
ImageButton imgButton = (ImageButton)FindControl("imgBtn1");
我得到img按钮=空
我创建了一个按钮 重置 调用方法btnReset_Click 在此方法中我需要找到 imageButton:
protected void btnReset_Click(object sender, EventArgs e)
{
ImageButton imgButton = (ImageButton)FindControl("imgBtn1");
}
你不需要使用 FindControl("imgBtn1"),因为 Visual Studio 中的设计器应该已经生成了必要的对象供你使用。
您只需键入即可访问它吗:
ImageButton imgButton = imgBtn1;
也许?
编辑
尝试以下代码,看看它是否适合您:)
protected void Page_Load(object sender, EventArgs e)
{
ImageButton imgButton = FindControl<ImageButton>("imgBtn1", this);
}
public T FindControl<T>(string name, Control current) where T : System.Web.UI.Control
{
if (current.ID == name && current is T) return (T)current;
foreach (Control control in current.Controls)
{
if (control.ID == name && control is T)
{
return (T)control;
}
foreach (Control child in control.Controls)
{
var ctrl = FindControl<T>(name, child);
if (ctrl != null && ctrl.ID == name) return ctrl;
}
}
return default(T);
}