我希望以某种方式更改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
任何想法?
答案 0 :(得分:2)
使用新方式,您将错过 CodeFile 和继承属性。
继承属性告诉控件哪个类具有代码隐藏。
答案 1 :(得分:1)
继承和 ClassName 必须指向命名空间中的不同类。
如果您的控件继承自MyCompany.Web.Controls.ProductShower,请将您的类名称设置为:MyCompany.Web.Controls.ProductShowerControl(这就是我们命名控件的方式)。