C# 通过变量修改imagebutton的控件

C# 通过变量修改imagebutton的控件,c#,asp.net,C#,Asp.net,我在c#中的web应用程序中有一组ImageButton,如果满足某个条件,我希望将可见状态更改为true。i、 e.如果我从数据库中获取ABC,我希望使imagebutton c_ibABC可见 有人能告诉我如何通过变量名更改imagebutton的控件吗 谢谢,只需将Visible属性设置为true buttonName.Visible=true; 您可以使用FindControl方法,这允许从页面动态获取控件 protected ImageButton FindImageButton(s

我在c#中的web应用程序中有一组ImageButton,如果满足某个条件,我希望将可见状态更改为true。i、 e.如果我从数据库中获取ABC,我希望使imagebutton c_ibABC可见

有人能告诉我如何通过变量名更改imagebutton的控件吗


谢谢,只需将Visible属性设置为true

buttonName.Visible=true;

您可以使用
FindControl
方法,这允许从页面动态获取控件

protected ImageButton FindImageButton(string id)
{
    string fullId = "c_ib" + id;
    return Page.FindControl(fullId) as ImageButton;
}

非常感谢Destrictor的帮助,FindControl看起来确实是我应该使用的正确方法,但我仍在努力实现它,所以它可以正常工作。这就是我尝试的“ImageButton ImageButton=FindImageButton(sFullID)”;imagebutton.Visible=true;'和此按钮的变体,但imagebutton始终设置为null获取未设置的对象引用error@user2192142也许页面上没有具有该id的对象?如果以编程方式添加控件,是否确保在每次回发时都添加它们?您好,是的,它们是在回发时添加的。在做了更多的研究后,我发现拥有母版页会导致更多的复杂性。我有一个母版页,在查看该页的源代码时,我的imagebutton控件显示name=“ctl00$contentplaceholder 1$c_ibABC”id=“contentplaceholder 1_c_ibABC”。关于如何在此实例中以编程方式将此控件设置为visible=true,有什么建议吗?@user2192142-factory-FindControl应该可以使用这些建议。ASP.Net会自动添加这些ID以确保ID是唯一的。看,我已经找到了解决这个问题的办法。“我的页面”使用母版页并具有内容占位符。我查看了源代码,控件的名称以ctl00$ContentPlaceholder 1$开头。使用的代码:'protected ImageButton FindImageButton(string id){string fullId=“ctl00$ContentPlaceholder 1$c_ib”+id;返回页面。FindControl(fullId)作为ImageButton;}'我这样使用:'ImageButton tmpImageButton=FindImageButton(sFullID);tmpImageButton.Visible=true;'