【发布时间】:2014-04-02 13:40:40
【问题描述】:
在企业门户中打开页面会导致 Windows-Event-Log 中显示错误:
MyControl.ascx.cs(15):错误 ASPNET:确保此代码文件中定义的类与“继承”属性匹配,并且它扩展了正确的基类(例如 Page 或 UserControl)。
第 15 行在下面的源代码中标有 (X)。
ASCX.CS 文件:
namespace Company.Productgroup
{
(X) public partial class Productname : System.Web.UI.UserControl
{
...
}
}
ASCX 文件:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Productname.ascx.cs" Inherits="Company.Productgroup.Productname" %>
ASCX.designer.cs 文件:
namespace Company.Productgroup {
public partial class Productname : System.Web.UI.UserControl
{
...
}
}
我尝试了什么:
- 将属性
CodeBehind更改为CodeFile,反之亦然 - 从 ASCX.cs 中删除命名空间 从中删除命名空间
- ASCX.designer.cs 将 ASCX 文件中的 Inherits 属性更改为
- 产品名称/产品组.产品名称
- 在 Google / SO 中搜索解决方案。在几乎每一个结果中, 问题是 Inherit-attribute 和 命名空间/类名,例如:Link1、Link2、Link3
事实真相:
- 所有文件都存储在同一个目录中,所以没有路径问题 应该发生。
- VS项目中的默认命名空间设置为
Company.Productgroup
【问题讨论】: