System.Web.UI.UserControl Besitzt keine Eigenschaft namens ItemTemplate

Bei dem Versuch, ein webgestütztes Steuerelement für Webbenutzer zu erstellen, stehe ich vor einem Problem, dass System.Web.UI.UserControl keine Eigenschaft namens ItemTemplate hat. Wie kann ich es lösen? ascx-Dateicode ist

    <%@ Control Language="C#" AutoEventWireup="true" CodeFile="MyTemplatedControl.ascx.cs" Inherits="MyTemplatedControl" %>

Der Dateicode .ascx.cs ist

using System;
using System.Collections;
using System.Configuration;
using System.Data;

using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;


public partial class MyTemplatedControl : System.Web.UI.UserControl
{
    private ITemplate itemTemplate = null;
    private ITemplate alternatingItemTemplate = null;
    [TemplateContainer(typeof(ItemContainer))]
    public ITemplate ItemTemplate
    { 
        get{return itemTemplate;}
        set { itemTemplate = value; }
    }
    public ITemplate AlternatingItemTemplate 
    {
        get { return alternatingItemTemplate; }
        set { alternatingItemTemplate = value; }
    }
    private bool isOdd(int i)
    {
        if (i % 2 == 0)
            return false;
        else
            return true;
    }
    void Page_init()
    {
        String[] student = { "sam", "ram", "geet", "rosy", "linda", "vandana" };
        for (int i = 0; i < 6; i++)
        {
            ItemContainer container = new ItemContainer(student[i]);
            if (isOdd(i))
            {
                alternatingItemTemplate.InstantiateIn(container);
            }
            else
            {
                itemTemplate.InstantiateIn(container);
            }
            this.ph1.Controls.Add(container);
        }

        }
    protected void Page_Load(object sender, EventArgs e)
    {

    }
}
public class ItemContainer : Control, System.Web.UI.INamingContainer
{
 private String _s_name;
    internal ItemContainer(String name)
    {
        _s_name = name;
    }
    public String name 
    {
        get { return _s_name; }
    }
}

ASPX-Dateicode ist

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register src="~/MyTemplatedControl.ascx" TagName="MyTemplatedControl" TagPrefix="uc1" %>


<title>Test page for Templated User Control</title> </head> <body> <form id="form1" runat="server"> <div> 
    
    
    
    
    

    
    
    
    
    
    

     

    

    </div>
    </form>
</body>
</html>

.aspx.cs-Dateicode ist dies

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        DataBind();

    }
}
0
Ich bin ein Student und Biginer. Willst du mir vorschlagen, was zu tun ???
hinzugefügt der Autor user3110211, Quelle
einfach bcz ist es in meiner Praxis Arbeitsbuch gegeben. Ich fange gerade erst an.
hinzugefügt der Autor user3110211, Quelle
Sir, es gibt immer noch einen Fehler, dass System.Web.UI.control keine Definition des Namens in Zeile 1 der ASPX-Seite enthält.
hinzugefügt der Autor user3110211, Quelle
Vielen Dank Herr...
hinzugefügt der Autor user3110211, Quelle
Ich glaube nicht, dass Sie dies mit Benutzersteuerelementen tun können. Zumindest beim Erstellen von Steuerelementen mussten Sie ein tatsächliches Serversteuerelement verwenden. Benutzersteuerelemente sind viel begrenzter, im Gegenzug für die Freiheit, sie aus Markup zu komponieren.
hinzugefügt der Autor John Saunders, Quelle
Verwenden Sie System.Web.UI.Control als Ihre Basisklasse. Warum erstellen Sie Steuerelemente, wenn Sie ein Anfänger sind? Das ist keine Anfängeraufgabe.
hinzugefügt der Autor John Saunders, Quelle
Früher war es sicher so, dass man so etwas nicht mit Benutzerkontrollen machen kann. Weitere Informationen finden Sie unter " Entwickeln von benutzerdefinierten ASP.NET-Serversteuerelementen " Erstellen Sie benutzerdefinierte Serversteuerelemente. Es ist nicht die Art von Dingen, die ein Anfänger tun sollte.
hinzugefügt der Autor John Saunders, Quelle