当我想使用gridview和updatePanel添加自定义控件时遇到了麻烦。 即使我直接在RenderContent方法中编写它,javascript函数也永远不会添加到页面中。
页面是:
的UpdatePanel 网格视图 EditItem CustomControl
“
SelectCommand =“SELECT * FROM [APP_ROLE]”>
自定义控制器看起来像这样:
[ToolboxData(“< {0}:TestControl runat = server>”)] 公共类TestControl:WebControl { protected override void OnInit(EventArgs e) { base.OnInit(E);
string script = "<SCRIPT type=\"text/javascript\">\n" +
"function show_" + ClientID + "(){alert('toto');}" +
"</SCRIPT>\n";
if (Page.ClientScript.IsClientScriptBlockRegistered("show_" + ClientID))
Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "show_" + ClientID, script);
}
protected override void RenderContents(HtmlTextWriter writer)
{
writer.WriteLine("<a href=\"javascript:show_" + ClientID + "();\">click</a>");
}
}
任何人都可以帮助我吗?
干杯。
答案 0 :(得分:1)
看起来你的if语句正在检查是否存在脚本块,然后只在脚本块已经存在的情况下才添加它。
我会拿出if语句,看看会发生什么。