UserControls Classname-Namespaces问题

时间:2009-01-13 14:44:18

标签: .net asp.net user-controls

我希望以某种方式更改Control(@Control)指令,使其可再发行并希望使用ClassName属性

所以我改变了这个

来自:

<%@ Control Language="C#" AutoEventWireup="true"  CodeFile="ProductShower.ascx.cs" Inherits="MyCompany.Web.Controls.ProductShower" %>

收件人:

<%@ Control Language="C#" ClassName="MyCompany.Web.Controls.ProductShower" %>

有了这个改变,我得到了很多错误,说我的所有事件都是一个一个没有定义!

更新

当我将ClassName属性与另外两个属性结合使用时,会导致另一个错误:

Error   4   Missing partial modifier on declaration of type 'MyCompany.Web.Controls.ProductShower'; another partial declaration of this type exists c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\productspanelx2\1f971ff6\ea7644da\App_Web_giywejva.0.cs   138 

除此之外,类定义的第一行是:

public **partial** class ProductShower : System.Web.UI.UserControl

任何想法?

2 个答案:

答案 0 :(得分:2)

使用新方式,您将错过 CodeFile 继承属性。

继承属性告诉控件哪个类具有代码隐藏。

答案 1 :(得分:1)

继承 ClassName 必须指向命名空间中的不同类。

如果您的控件继承自MyCompany.Web.Controls.ProductShower,请将您的类名称设置为:MyCompany.Web.Controls.ProductShowerControl(这就是我们命名控件的方式)。