如何在页面上尚未呈现的控件上连接 jQuery?我尝试覆盖以下方法,但它们不起作用,因为 StepNavigationTemplateContainerID html 标记在此事件上尚不可用:Render、OnLoad、OnInit 等
可能是因为我使用的是 UpdatePanel 吗?当我使用 UpdatePanel 时我可以覆盖什么方法/事件,以便我可以在那里发出 jQuery 钩子?
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
HookNextButton();
}
void HookNextButton()
{
string nextButtonClientId = wizardCooking.FindControl("StepNavigationTemplateContainerID").FindControl("btnNextStep").ClientID + "_lnkButton";
var scriptKey = "Yo";
string theScript =
string.Format(
@"
$(function() {{
$('#{0}').click(function() {{
alert('hi');
}});
}});
", nextButtonClientId);
Type cstype = this.GetType();
// Get a ClientScriptManager reference from the Page class.
ClientScriptManager cs = Page.ClientScript;
// Check to see if the startup script is already registered.
if (!cs.IsStartupScriptRegistered(cstype, scriptKey))
{
ScriptManager.RegisterStartupScript(
this, this.GetType(), scriptKey, theScript, true);
}
}