Пользовательское управление не отображает содержимое ascx
Я думал, что это была простая проблема, пока я не начал искать ответы и понял, что это так просто, я единственный, у кого есть это
мой пользовательский элемент управления не отображает ничего. Что я делаю не так? (кроме того, пусть это будет моей жизнью...)
управления:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ctrl.ascx.cs" Inherits="proj.UserControls.ctrl" %>
asdjkldasfjasdfljdfasjklasdfjkl
использование:
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="page.aspx.cs" Inherits="proj.Admin.page" %>
<%@ Register assembly="proj" namespace="proj.UserControls" tagprefix="cc1" %>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<cc1:ctrl ID="test" runat="server" />
</asp:Content>
Ответы
Ответ 1
Изменение: -
<%@ Register assembly="proj" namespace="proj.UserControls" tagprefix="cc1" %>
Для
<%@ Register TagPrefix="cc1" TagName="ctrl" Src="/path/to/ctrl.ascx" %>
Вам не хватает TagName
, который представляет текст, следующий за двоеточием в объявлении элемента управления. Вы также не говорите движку, где можно найти исходный файл (атрибут Src
). Измените /path/to
, чтобы указать путь от корня до вашего элемента управления.
Ответ 2
ЕСЛИ вы создали пользовательский элемент управления, тогда вы должны добавить ссылку на dll своего настраиваемого элемента управления (из списка элементов из ToolBox Visual Studio). и затем используйте следующий тег на странице:
<%@ Register assembly="proj" namespace="proj.UserControls" tagprefix="cc1" %>
Если вы создали User Control, добавьте следующую строку на свою страницу:
<%@ Register src="~/UserControls/ctrl.ascx" TagName="ctrl" tagprefix="cc1" %>
Ответ 3
вместо
<%@ Register assembly="proj" namespace="proj.UserControls" tagprefix="cc1" %>
использовать
<%@ Register src="~/UserControls/ctrl.ascx" TagName="ctrl" tagprefix="cc1" %>
Ответ 4
Убедитесь, что вы не установили visible = "false" на панели или div, содержащих ваш элемент управления.
Это спасло бы мне хороший час.