2

好的,我不确定它的标题是否完全准确,欢迎提出建议!

我正在创建一个 ASP.NET 自定义控件,这对我来说还是比较新的东西,所以请多多包涵。

我正在考虑事件模型。由于我们没有使用 Web 控件,因此没有从按钮触发事件,而是使用适当的参数手动调用__doPostBack 。然而,这显然意味着在选择选项时会发生很多回发(选择时呈现不同的方式)。

随着时间的推移,我将需要使这更加 Ajax-y 和响应,因此我需要更改事件绑定以调用本地 Javascript。

所以,我在想我应该能够切换控件的“模式”,它可以使用回发和处理本身,或者您可以指定要调用的 Javascript 函数名称而不是 doPostBack。

  • 您对此有何看法?
  • 我是否以错误的方式从控件中引发事件?(在这里完全接受建议!)
  • 你会如何处理类似的问题?

编辑 - 澄清

  • 我正在创建一个自定义呈现控件(即从 WebControl 继承)。
  • 我们没有使用现有的 Web 控件,因为我们希望完全控制呈现的输出。
  • AFAIK 从自定义呈现的控件中获取服务器端事件的唯一方法是从呈现的元素调用 doPostBack (如果错误,请更正!)。
  • ASP.NET MVC 不是一个选项。
4

2 回答 2

1

很奇怪。您正在使用 ASP.NET 服务器控件和自定义控件,但您没有使用 Web 控件?你是手动调用 __doPostBack 吗?

你喜欢用艰难的方式做事吗?

如果我仍在使用服务器控件模型而不是 MVC,我会在那个傻瓜上拍打 ASP.NET Ajax 控件并收工。你所做的就像在 T 型车上装了一个鼓风机。这可能很有趣,很有趣,但是当你完成所有艰苦的工作之后,你真正拥有的是什么?

于 2008-09-12T12:51:34.817 回答
1

我一直在对此进行更多研究,并在需要时遇到了如何将 Javascript 注入客户端。这显然将在使控件更具响应性和更少往返服务器方面发挥重要作用。

例如:RegisterClientScriptBlock

期待更多的玩这个,随时参与进来!

于 2008-09-22T07:35:06.343 回答