私は以前にリピーター内でこのタスクを実行しましたが、機能しました。ただし、通常のWebフォームページでは、以下を機能させることができません。画像は壊れたリンクとして表示され、コードビハインドに配置したブレークポイントはトリガーされません。
(aspxファイル内)
<asp:ImageButton ID="ImageButton1" runat="server" ImageUrl='<%# GetImageDirectory()%>btnRunReport.png' />
(コードビハインド)
public string GetImageDirectory()
{
return "~/App_Variants/LBSX/images/";
}
これは私が試した2番目の方法であり、もう1つの方法では、画像名を文字列として渡すことを試みました。これにより、リンク全体がそのように返されます。まだ運がない!
何かご意見は?
ありがとう!
[編集]皆さんの助けに感謝します。最後に、便利なヒントの後で、次のようにトリックを実行する再帰スニペットを見つけました。
private void UpdateImages(Control Parent)
{
foreach (Control c in Parent.Controls)
{
ImageButton i = c as ImageButton;
if (i != null)
{
i.ImageUrl = "~/App_Variants/LBSX/images/" + i.ImageUrl;
}
if (c.HasControls())
{
UpdateImages(c);
}
}
}
protected void Page_Load(object sender, EventArgs e)
{
UpdateImages(Page);
...
それが他の誰かを助けることを願っています。
乾杯