System.Web.UI.UserControl не имеет открытого имени свойства ContentTemplate.

Прежде всего, извините за мой английский.

Я искал на нескольких форумах по этому вопросу, и здесь я нашел похожий вопрос об этой проблеме. Но есть время, я не могу найти решение, поэтому я спрошу ответ, объяснив мой контекст.

Дело в том, что у меня есть "Пользовательский веб-элемент управления" и некоторый код, который я использовал здесь для создания ContentTemplate, в который я могу поместить некоторые элементы HTML или другие элементы управления. И это работает почти хорошо, дело в том, что когда я пытаюсь увидеть дизайнером, дизайнер показывает мне, что "System.Web.UI.UserControl" не имеет свойства с именем "ContentTemplate". Я пробую несколько решений, таких как этот тег [PersistenceMode(PersistenceMode.InnerProperty)] и некоторые другие, которые я не могу вспомнить из своей головы.

Вот контрольный код: ascx

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="FormGroup.ascx.cs" Inherits="Repl4y.Controllers.FormGroup" %>
<div class="form-group">
<asp:PlaceHolder runat="server" ID="BodyControlSpace"></asp:PlaceHolder>
</div>

C#

public partial class FormGroup : System.Web.UI.UserControl
{
      private ITemplate _ContentTemplate;

    [PersistenceMode(PersistenceMode.InnerProperty)]
    public ITemplate ContentTemplate
    {
        get { return _ContentTemplate; }
        set { _ContentTemplate = value; }
    }

    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
        _ContentTemplate.InstantiateIn(BodyControlSpace);
    }
    protected void Page_Load(object sender, EventArgs e)
    {

    }
}

Тестовая страница Cadppg.aspx:

<%@ Page Title="" Language="C#" MasterPageFile="~/AreaRestrita.Master" AutoEventWireup="true" CodeBehind="Cadppg.aspx.cs" Inherits="Repl4y.Cadppg" %>
<%@ Register Assembly="Repl4y" Namespace="Repl4y.Controllers" TagPrefix="My" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">

<My:FormGroup runat="server" >
    <ContentTemplate>
            <My:Painel runat="server" ID="Painel1" _Label="teste" _Number="22" />
            <My:Painel runat="server" ID="Painel2" _Label="teste" _Number="22" />
    </ContentTemplate>
</My:FormGroup>

Я не могу поставить изображение еще, потому что у меня недостаточно репутации, но скоро я опубликую ошибку.

Есть какой-то способ обмануть визуальную студию и создать другое свойство ContentTemplate с другим типом, например, строкой или чем-то еще, чтобы "дизайн" работал, мне действительно нужно, потому что мои элементы управления - это просто интеграция с начальной загрузкой, и я буду использовать конструктор для создавать обработчики событий, такие как щелчки по кнопкам и т. д.

Спасибо.!

0 ответов

Другие вопросы по тегам