<asp:Content></asp:Content>
この動的なコントロール ID の生成に行き詰まっています。ページがブラウザーでレンダリングされるときにコントロール (ボタンなど) を ContentPage (MasterPage によって継承される) に配置すると、コントロール ID が変更されます。ScottGu の記事を読みました「clientIDMode」と私の問題は終わったと思ったので、「Web.Config」内に「clientIDMode」を設定しました
<pages clientIDMode="Static"></pages>
しかし、問題は解決しません。このようにコード ビハインドからコントロールを参照することはできません。
//ctl00$Cntnt$Button1 name works but its dynamically created
if (ScriptManager1.AsyncPostBackSourceElementID == "Button1")
{
Label1.Text = "Async PostBack occured @ " + DateTime.Now.ToLongTimeString();
}
ASP.net マークアップ:
<asp:Button ID="Button1" runat="server" Text="Refresh me" onclick="Button1_Click" />
ブラウザ側のマークアップ:
<input type="submit" name="ctl00$Cntnt$Button1" value="Refresh me" id="Button1" />
Q)マークアップで指定したコントロールの Id だけを使用することはできませんか (MasterPage がないかのように)?
PS: AsyncPostback では、 AsyncPostback を作成した特定の Button に基づいて特定の操作を実行したいので、AsyncPostBackSourceElementID
残念ながら変更された ControlID を返す値を確認する必要があります