如何为 ASP.net UserControl 指定命名空间?

Posted

技术标签:

【中文标题】如何为 ASP.net UserControl 指定命名空间?【英文标题】:How to specify a namespace for an ASP.net UserControl? 【发布时间】:2012-06-03 02:52:14 【问题描述】:

我在 ASP.net 中有一个UserControl

GrobSelector.ascx.cs

...
public partial class GrobSelector : System.Web.UI.UserControl

   ...

我想将这个类包装在一个命名空间中:

GrobSelector.ascx.cs

...
namespace GrobSelectorNamespace

   public partial class GrobSelector : System.Web.UI.UserControl
   
      ...
   ...       

除了现在代码编译失败:

public partial class GrobSelector : System.Web.UI.UserControl

确保此代码文件中定义的类与“继承”属性匹配,并且它扩展了正确的基类(例如 Page 或 UserControl)。

将 ASP.net UserControl 放入命名空间的正确方法是什么?


奖金聊天

前面的代码文件包含:

GrobSelector.ascx

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="GrobSelector.ascx.cs" 
    Inherits="GrobSelector"  %>

阅读奖励

Putting a Web User Control (ascx) in a namespace? namespace in asp.net usercontrol Getting namespace name not found for ASP.net user control

【问题讨论】:

【参考方案1】:

您收到的错误解释正确。

您应该更改“in-front”文件,使Inherits 属性考虑到控件类所在的命名空间:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="VacationSelector.ascx.cs" 
    Inherits="VacationSelectorNamespace.VacationSelector"  %>

【讨论】:

我认为 VacationSelector.ascx/VacationSelector.ascx.cs 已经解决了这个问题! 这可能很棘手。但请记住,您不一定必须与实际文件具有相同的类名。也就是说,您可以拥有一个 VacationSelector.ascx.cs,其类实际上是“foo”,这使得包含该类的完全限定名变得更加必要。

以上是关于如何为 ASP.net UserControl 指定命名空间?的主要内容,如果未能解决你的问题,请参考以下文章

如何为按钮文本asp.net的特定单词添加下划线

ASP.NET:如何为 GridView 创建自定义分页器?

如何为 asp.net vnext 使用不同的 .net 语言 (F#)

如何为 ASP.net Core 配置 Entity Framework 6

如何为asp.net中的每个项目添加复选框列表的工具提示

如何为 ASP.NET MVC 2 创建自定义成员资格提供程序?