如何在HTMLGenericControl上注册服务器端单击?

时间:2010-03-31 16:02:29

标签: c# .net postback server-side htmlgenericcontrol

我正在寻找一种可靠的机制来为HTMLGenericControl生成服务器端回发处理程序,例如li元素。

我有一些我不想改变的标记,并希望以与标准.Net服务器控件相同的方式对待它。

另外,我知道我可以使用基于模板的控件将标记内的一些.Net控件隐藏起来,然后从客户端点击代理触发其点击事件。但是,我真的在询问是否可以做得更好。

2 个答案:

答案 0 :(得分:4)

您需要的问题是:
- 没有带有效事件处理程序的服务器端控件,以便可以触发服务器端事件。

我能想到的几个选项:

  • 使用PageMethods
  • 调用__doPostBack()
  • 调用自定义javascript来向服务器发送XMLHTTP请求

答案 1 :(得分:1)

查看ASP.NET __doPostBack函数。 Here是一个很好的写作。

您可以为li元素(或其他)添加一个单击处理程序,以使它们调用__doPostBack函数。这是大多数其他服务器控件所做的,因此您使用相同的机制 - 唯一的区别是您手动设置元素上的单击处理程序。