我被这个动态控件 ID 生成所困扰,如果我将我的控件(比如按钮)放在 ContentPage (由 MasterPage 继承)中,<asp:Content></asp:Content>
当页面在浏览器中呈现时,控件 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" />
问)我不能只使用我在标记中指定的控件的 ID(好像我没有任何 MasterPage)?
PS:在 AsyncPostback 上,我想根据特定的 Button 执行某些操作 AsyncPostback ,为此我必须检查AsyncPostBackSourceElementID
不幸返回修改后的 ControlID的值