0

我是一名专业的网络开发人员,了解所有著名的网络框架。

我想构建一个服务器控件集合,例如ComponentArt组件,您可以在项目中使用它们。

在 ComponentArt 中:您可以轻松地在项目中注册 componentart 的命名空间并将数据绑定到这些控件,而无需任何额外的代码或工作(例如将任何额外的文件复制到我们的示例项目中),当然它们支持 ajax。

为了实现这一点,我开始意识到我必须开发一些支持回调以处理 ajax 的高级用户控件,并且没有太多关于在不同项目之间共享用户控件的信息。实际上这里是唯一有用的链接: http: //www.codeproject.com/KB/user-controls/EmbeddedUserControl.aspx

另一方面,服务器控件没有 ascx 模板接口,我可以轻松地设计我的控件布局。

我需要一种方法来开发一些您可以的 Web 组件:

  1. 轻松共享其他项目(只需将 dll 添加到项目并开始使用它)
  2. 支持 ajax 回调(例如 ICallbackEventHandler)
  3. 可以有一个用于 HTML 设计的模板(例如具有 ascx 模板文件的 UserControl),因此您不必在代码中对 HTML 进行硬编码,例如:

    output.Write("<table>content</table>");

自定义服务器控件具有前两个,但它们没有 ascx 文件,因此您必须在 cs 文件中编写所有 html 代码

请指教...

4

3 回答 3

1

您需要开始使用以下书籍进行自我教育:

替代文字

使用这本书,以及很多时间,我创建了一个多列 TreeView。可以在这里看到。

于 2010-12-11T03:06:11.477 回答
1

您可以让服务器控件从文件中读取它,而不是对 HTML 进行硬编码,该文件的名称和路径由您根据配置设置或目录路径确定。这将使您的服务器控件更加动态,并且不需要在更改 HTML 时重新编译。这将有助于满足条件 #3,但对 #1 的成本较低(因为您的服务器控制现在依赖于外部资源,因此它不容易分发)。您总是可以对默认标记进行硬编码,如果找不到文件作为防止异常的额外预防措施,则回退到它。

于 2010-12-10T23:07:45.570 回答
1

要求 1 和 3 是互斥的。标记必须来自某个地方——编译的资源或外部文件。您的外部文件可能是可选的,但您必须在编译资源中指定默认标记。编译的资源不一定是您的 .cs 文件。您可以将它放在资源文件中,但我不确定这是否会更容易使用。您还可以将控件构建为现有服务器控件的组合,但这将使您的模板变得更加困难。

于 2010-12-11T02:54:16.737 回答