asp.net – 自定义控件变为通用的“UserControl”,而不是其在Designer类中的实际类型

前端之家收集整理的这篇文章主要介绍了asp.net – 自定义控件变为通用的“UserControl”,而不是其在Designer类中的实际类型前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在ASP.NET中有一个自定义控件(VB.NET代码),用ASCX定义:
<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="MyControl.ascx.vb" Inherits="Mynamespace.Controls.MyControl" %>

<!-- some html and other custom controls-->

并在代码背后:

Namespace Controls

    Public Class MyControl
        Inherits System.Web.UI.UserControl

这是在图书馆中设置的.不同的项目在页面中使用该控件:

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="mypage.aspx.vb" 
    Inherits="myproject.mypage" culture="auto" Meta:resourcekey="Page" uiculture="auto" 
    Transaction="RequiresNew" MasterPageFile="Mynamespace.Master" 
    Theme="ThemeBase2" StylesheetTheme="ThemeBase2" %>

<%@ Register tagprefix="Controls" tagname="MyControl" src="../Controls/MyControl.ascx" %>

<%-- some asp.net --%>

<Controls:MyControl ID="mycontrol1" runat="server" 
                    MyCustomProperty="value" />

但是,当我建立,我得到一个错误

‘MyCustomProperty’ is not a member of ‘System.Web.UI.UserControl’.

而在designer.vb页面中我看到:

Protected WithEvents mycontrol1 As Global.System.Web.UI.UserControl

如何确保它成为:

Protected WithEvents mycontrol1 As Global.Mynamespace.Controls.MyControl

解决方法

您的ascx文件无法访问,因为它在库中

您需要将ascx文件保存为库的嵌入式资源,并将其作为外部资源加载到Web应用程序中.

您可以咨询此link了解更多信息.

如果你想分享你的控件,我建议创建UserControl而不是CustomControl.不幸的是,有更多的工作,因为设计师是不可用的

原文链接:https://www.f2er.com/aspnet/246726.html

猜你在找的asp.Net相关文章