È possibile ereditare un controllo utente da un altro controllo utente?Come ereditare un UserControl da un altro UserControl?
Quello che sto cercando di ottenere è un controllo utente che eredita da un altro controllo utente. Quindi ho baseusercontrol.ascx, e questo ha solo il testo "Stuff". Quindi ho un altro controllo utente, childusercontrol.ascx che eredita da baseusercontrol.ascx. Se non cambio nulla in childusercontrol.ascx, mi aspetterei che il testo baseusercontrol.ascx visualizzi "Stuff".
E inoltre dovrei essere in grado di estendere le funzionalità di controllo utente di base in quella derivata.
Ho anche provato qualcosa come this, ma non è abbastanza nel mio caso.
Ora il mio childusercontrol.ascx sembra trovarsi al di sotto
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="childusercontrol.ascx.cs" Inherits="test_childusercontrol" %>
<%@ Register src="baseusercontrol.ascx" tagname="baseusercontrol" tagprefix="uc1" %>
childusercontrol.ascx.cs come di seguito
public partial class test_childusercontrol : baseusercontrol
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
Quando si naviga in questa pagina ottenendo errore Im come
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.
Qualsiasi traccia?
Puoi condividere il codice da baseusercontrol.ascx? Il tuo errore dice che hai un riferimento null su un numero di linea specifico. Ho il sospetto che tu abbia un riferimento nullo. o_O –
Dovrai esaminare la traccia dello stack, proprio come ti dice il messaggio di eccezione. Quasi tutti i casi di 'NullReferenceException' sono uguali. Per alcuni suggerimenti, vedere "[Cos'è una NullReferenceException in .NET?] (Http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-in-net)". –
Inoltre, no, i controlli utente non sono destinati ad essere ereditati. Il meglio che puoi fare è creare classi di base che ereditano 'UserControl', ma non contengono alcun markup (nessun file .ascx). –