私はこのような画像を持っています:
<asp:Image runat="server" ID="btnabout1" ImageUrl="~/graphics/buttons/btnabout1.png" AlternateText="About" />
私はコードビハインドからコントロールにアクセスできます(明らかに):
btnabout1.Visible = false;
しかし、これは機能しません:
Page.FindControl("btnabout1").Visible = false;
重要なのは、変数controlIDを使用して属性を設定することです。
私はその方法を誤解していると思いますので、誰かが私を教えてくれませんか。
目的は、現在のページのファイル名を取得し、それに応じて画像/ボタンを表示/非表示に設定するメソッドを作成することです。このような:
string filename = System.IO.Path.GetFileName(HttpContext.Current.Request.FilePath);
string strippedfilename = filename.Substring(0, filename.IndexOf("."));
Page.FindControl("btn" + strippedfilename + "3").Visible = true;
Page.FindControl("btn" + strippedfilename + "2").Visible = false;
Page.FindControl("btn" + strippedfilename + "1").Visible = false;
Page.FindControlを機能させることができなかったため、
Dictionary<string, Control[]>
代わりに、もちろん、新しいページを追加すると辞書に追加する必要があるため、それほど動的ではありませんが、今のところは問題ないと思います...