这是一个愚蠢的问题,很抱歉。
我正在从ASP.NET服务器控件动态创建html元素。创建元素或创建所有元素后,是否有办法强制事件触发其中一个元素?我知道它来自服务器到客户端,但我正在寻找解决方法。文档中是否有可以监听html被添加的内容?
我正在创建这样的控件:
protected override void RenderContents(HtmlTextWriter output)
{
// htmlString is a dynamically built string of html
output.Write(htmlString);
}
元素是一系列级联下拉列表,用户可以使用该下拉列表保存所选值。因此,如果我在创建项目时选择项目的值,则无法启动事件,该事件会调用数据库以获取数据以填充其依赖控件。这里有一个“没有回发”的规则(不是我的规则)。
任何帮助将不胜感激。
答案 0 :(得分:2)
您可以将javascript作为渲染的一部分输出,并将bind events输出到动态创建的控件。
jQuery使binding events非常容易。
答案 1 :(得分:0)
如果需要,可以从RegisterClientScriptBlock()
中激活一个Function()示例用法:
ClientScript.RegisterClientScriptBlock(GetType(), "sas", "<script> alert('Inserted successfully');</script>", false);
或者您可以在这些新项目上点击等设置直播活动。
$(document).on('click', '#exampleThing', function () {
// what you want to do
});