gpt4 book ai didi

asp.net - 需要帮助创建自定义控件 Asp.Net 3.5

转载 作者:行者123 更新时间:2023-12-02 02:35:37 26 4
gpt4 key购买 nike

我正在寻找有关在 Asp.net 3.5 中创建自定义控件的说明或演练的链接。

我已经看过以下内容:

http://forums.asp.net/t/1385382.aspx : 将 .ascx 用户控件转换为可再发行的自定义控件 asp.net 3.5

http://msdn.microsoft.com/en-us/library/aa479318.aspx : 将 .ascx 用户控件转换为可再发行的自定义控件 asp.net 2.0

我认为上面的两个链接是针对复合自定义控件的,目前还可以,因为看起来制作复合控件比制作完整的自定义控件更容易。

按照上述链接 (aa479318) 中的说明,我创建了一个用户控件 MyControl.ascx 文件并将其发布,该文件被编译成一个自包含的 .dll,名为 App_Web_MyControl.ascx.cdcab7d2。

然后我放一个

<%Register Assembly="App_Web_MyControl.ascx.cdcab7d2" 
TagPrefix="cc" namespace="TheNamespace" %>

在我想使用自定义控件的 aspx 文件(在另一个应用程序中)中,我在项目中添加了对 .dll 程序集的引用。

当我尝试通过

在 .aspx 代码中创建它时,无法识别 CustomControl 名称
<cc:MyControl ID="idname" runat="server" />

我收到错误元素“MyControl”不是已知元素。

最佳答案

这已经晚了,我知道,但是这里..

通过执行此操作,我成功地将 .ascx UserControl 转换为可再分发的 dll:

  1. 创建了一个名为 AscxDll
  2. 的 ASP.NET 网站 项目
  3. 在该位置的所述项目中开发了我的 UserControl:~/App_UserControls/RadioButtonQuestion.ascx
  4. 发布网站项目时仅在“发布网站”对话框中勾选了这些设置:

    使用固定名称和单页程序集

    发出调试信息

  5. 打开 VS cmd 提示符并运行:aspnet_merge "C:\PrecompiledWebOutputDir\AscxDll"-o AssemblyName -r
  6. 将合并的 AssemblyName.dll 复制到另一个需要它的 Web 应用程序/网站项目的 bin 文件夹中。
  7. 在客户端项目的 web.config 中,将其添加到 pages\controls
  8. 在客户端项目中添加了对网页的控制:

请注意它是如何使用 namespace="ASP" 在 web.config 中注册的,以及网页上的标记如何在其中包含一些下划线 这可能是您出错的关键?

这对我来说效果很好,尽管我花了很长时间才弄明白。除非您的 UI 非常复杂,否则仅构建服务器控件或复合控件可能更容易。

希望这对某人有帮助。

关于asp.net - 需要帮助创建自定义控件 Asp.Net 3.5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1981925/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com