asp.net - 将 Web 用户控件移动到不同的命名空间

标签 asp.net controls namespaces

我们的 Web 应用程序有一个使用标记、代码隐藏和设计器文件设置的控件,如下所示:

标记

<%@ Control Language="VB" AutoEventWireup="false"
    Inherits="NewNameSpace.Controls.generic_selector" Codebehind="generic-selector.ascx.vb" %>

出于某种原因,虽然它之前在默认命名空间中工作,但当我们将它移动到新命名空间时,我们现在得到一个解析器错误:

Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.

Parser Error Message: Could not load type 'NewNameSpace.Controls.generic_selector'.



附录 :我确实将标记、代码隐藏和设计器文件移动到了新的命名空间。似乎没有帮助。

该项目仍然正确构建。还有什么我们需要做的吗?

更新 :

本周再看一遍,这是我的猜测。默认情况下创建控件时,它会进入 Global.NameOfProject.NameOfControl。

也许新控件现在在 Global.NameOfProject.NewNameSpace.Controls 中?

更新:

该控件似乎部分进入命名空间 Global.NameOfProject.NewNameSpace.Controls。问题是,不清楚如何将整个类移动到新的命名空间。我尝试了各种标记更改,但似乎没有一个能坚持下去——只有默认命名空间似乎没有问题。

所以我的问题仍然存在:如何将 Web 用户控件移动到不同的命名空间?

最佳答案

您还需要更改代码隐藏类上的命名空间。

打开 generic-selector.ascx.vb文件并确保 generic-selector type 被包裹在属性命名空间中,如下所示:

Namespace NewNameSpace.Controls
    Class generic-selector

    End Class
End Namspace

关于asp.net - 将 Web 用户控件移动到不同的命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1407927/

相关文章:

c# - 当我不放置 namespace 时,我的类在什么 namespace 中?

javascript - 如何在没有 Ajax Toolkit 的情况下显示加载图像,直到 gridview 完全加载?

c# - 如何在代码隐藏中访问 Button.Content 中的控件?

c# - WPF 组合框如果只有 1 项则自动选择

c# - .NET Control.Margin 属性有什么用?

c# - 从 IronPython 中的其他命名空间访问 C# 枚举和类

javascript - 如何使用asp.net从Angular 2发送的url中读取JSON数据

asp.net - 如何在没有冗余的情况下更新/编辑asp.net mvc 5中上传的文件?

c# - 禁用所需的 SSL 密码?

c# - .NET 命名空间之间的共享类,如何分配它们?