Member 12363973 Ответов: 1

Не могу вызвать пользовательский элемент управления на моей странице aspx


Добавьте новую веб-форму (с главной страницей) и перетащите на нее пользовательский элемент управления.Когда я строю решение, оно показывает эту ошибку- " имена членов не могут совпадать с их заключающим типом"

Что я уже пробовал:

<%@ Page Title="" Language="C#" MasterPageFile="~/Main.master" AutoEventWireup="true" CodeBehind="BuyerInspection.aspx.cs" Inherits="WebApp.Pages.BuyerInspection" %>
<%@ Register Src="~/Controls/BuyerInspection.ascx" TagPrefix="uc" TagName="BuyerInspection" %>
<asp:Content ID="Content1" ContentPlaceHolderID="PageTitleContentPlaceHolder" runat="Server">Bank Payment
<asp:Content ID="Content2" ContentPlaceHolderID="PageContentPlaceHolder" runat="Server">
    <div data-flow="row">
        <uc:BuyerInspection ID="BuyerInspection"  runat="server"></div>

Satish Padnani

У меня была такая же проблема ! прямо сейчас скоро загрузим решение

Sergey Alexandrovich Kryukov

Вы не показали определение типа с вашей ошибкой. Но что неясно в этом сообщении об ошибке? Visual Studio должна показать вам тогда проблемный код. Найдите членов с тем же именем, что и тип...
—СА

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

Я думаю, что "BuyerInspection" является противоречивым. Попробуйте использовать другое имя для пользовательского элемента управления.

1 Ответов

Рейтинг:
2

F-ES Sitecore

Идентификатор вашего элемента управления-BuyerInspection, а тип элемента управления - также BuyerInspection, как и класс вашей страницы, поэтому за кулисами (в файле конструктора) у вас есть что-то вроде этого;

public partial class BuyerInspection
{
    protected BuyerInspection BuyerInspection;
}


В .net у вас не может быть имени свойства, которое совпадает с именем класса, поэтому вы можете исправить это, вызвав свой элемент управления чем-то другим

<uc:BuyerInspection ID="ucBuyerInspection"  runat="server">


который изменит код на

public partial class BuyerInspection
{
    protected BuyerInspection ucBuyerInspection;
}


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