作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否可以从另一个用户控件继承用户控件?
我想要实现的是从另一个用户控件继承的用户控件。所以我有baseusercontrol.ascx,它只有文本“Stuff”。然后我有另一个用户控件 childusercontrol.ascx 从 baseusercontrol.ascx 继承。如果我不更改 childusercontrol.ascx 中的任何内容,我希望 baseusercontrol.ascx 文本显示“Stuff”。
而且我应该能够扩展派生的基本用户控制功能。
我也尝试过类似 this 的东西,但在我的情况下还不够。
现在我的 childusercontrol.ascx 看起来在下面
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="childusercontrol.ascx.cs" Inherits="test_childusercontrol" %>
<%@ Register src="baseusercontrol.ascx" tagname="baseusercontrol" tagprefix="uc1" %>
public partial class test_childusercontrol : baseusercontrol
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
Object reference not set to an instance of an object.
Description : An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details : System.NullReferenceException: Object reference not set to an instance of an object.
最佳答案
我已经为自己测试了这种情况。其实你不能继承来自 UserControl
的基类用它自己的 ASCX
代码。
但是,您可以做的是 实现一些基本功能 在(可能是抽象的)基类(没有 ASCX
)中,如下所示:
public class BaseClass:UserControl
{
public String BaseGreeting { get { return "Welcomebase!"; }}
}
UserControl
拥有自己的类
ASCX
文件。
public partial class childusercontrol : BaseClass
{
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
Greeting = base.BaseGreeting; //As initial value
}
public String Greeting
{
get { return LabelGreeting.Text; }
set { LabelGreeting.Text = value; }
}
}
关于asp.net - 如何从另一个用户控件继承用户控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19218640/
我是一名优秀的程序员,十分优秀!