Mise à jour: J0e3gan a essayé mon code dans son propre projet, et cela a bien fonctionné (avec une correction mineure), donc le problème semble être avec Visual Studio lui-même, plutôt que le code ou balisage. J'ai essayé d'ajouter un nouveau UserControl
, et il n'a pas été reconnu non plus. Cependant, VS reconnaît le AjaxControlToolkit
qui est enregistré dans web.config
très bien. [/ mise à jour]UserControl personnalisé ne s'enregistre pas dans ASP.NET
Je suis en train d'ajouter une coutume UserControl
nommé AdminControls
sur le site, je travaille, mais je continue à obtenir l'erreur suivante:
Element 'ControlName' is not a known element. This can occur if there is a compilation error in the Web site, or the web.config file is missing.
Je suis en cours d'exécution de Visual Studio Pro 2013, et le projet est une application Web. J'ai cherché des solutions sur le Web, surtout ici sur Stack Overflow, et j'ai essayé tous ceux que j'ai pu trouver, mais je n'ai pas eu de chance. Il doit y avoir quelque chose qui me manque.
Voici le balisage pour AdminControls
:
<asp:Table ID="tblAdminControls" runat="server">
<asp:TableRow>
<asp:TableCell style="min-width: 50%;"> </asp:TableCell>
<asp:TableCell style="width: 6em" id="tdCP" runat="server">
<asp:Button Font-Bold="true" Font-Size="Smaller" Font-Overline="false" ID="btnCP"
runat="server" CssClass="Button" Text="Control Panel" />
</asp:TableCell>
<asp:TableCell style="width: 5em">
<asp:Button Font-Bold="true" Font-Size="Smaller" Font-Overline="false" ID="btnLogOut"
runat="server" CssClass="Button" Text="LogOut" />
</asp:TableCell>
</asp:TableRow>
</asp:Table>
Et voici le codebehind pour elle:
Public Class AdminControls
Inherits System.Web.UI.UserControl
Private Sub Page_Init(sender As Object, e As EventArgs) Handles Me.Init
If Request.ServerVariables("SCRIPT_NAME") = "/frmAdminCP.aspx" Then
tdCP.Visible = False
End If
End Sub
Private Sub btnCP_Click(sender As Object, e As EventArgs) Handles btnCP.Click
Response.Redirect("frmAdminCP.aspx", False)
End Sub
Private Sub btnLogOut_Click(sender As Object, e As EventArgs) Handles btnLogOut.Click
Session.RemoveAll()
Session.Abandon()
Response.Redirect("frmLogin.aspx", False)
End Sub
End Class
J'ai essayé l'enregistrement AdminControls
à la fois dans le fichier web.config
et sur la page . Voici les bits correspondants du fichier web.config
:
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">
<controls>
<add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" />
<add tagPrefix="klc" tagName="AdminHeader" src="~/AdminControls.ascx" />
</controls>
</pages>
Et last but not least, voici l'une des pages que je suis en train de mettre AdminControls
dans:
<%@ Page Title="" Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false"
EnableEventValidation="false" Inherits="ProjectName.frmAdminCP" CodeBehind="frmAdminCP.aspx.vb" %>
<%@ Register TagPrefix="klc" TagName="AdminHeader" Src="~/Controls/AdminControls.ascx" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<div id="content">
<h1>Admin <span class="pagetitle">Control Panel</span> </h1>
<klc:AdminHeader runat="server" id="ahControls" />
<div>
<h2>Users</h2>
<a href="frmUserList.aspx">View Existing Users</a><br />
<a href="frmUserMod.aspx">Add a New User</a>
<h2>Usage Reports</h2>
<a href="frmReportTrack.aspx">View User Activity Report</a><br />
<a href="frmProjectLog.aspx">View Administrative Log</a>
<h2>Project Management</h2>
<a href="frmProjectList.aspx">View Projects</a><br />
<a href="frmDocManagement.aspx">Manage Project Files</a>
</div>
</div>
</asp:Content>
J'ai essayé tous les CORRECTIF je Je les ai rencontrés, même s'ils semblaient ridicules. J'ai:
- Purgé le cache de schéma.
- Nettoyé et reconstruit la solution.
- Redémarré Visual Studio.
- Redémarré mon ordinateur.
- Déplacé le fichier dans un sous-répertoire.
- Coupez et collez le code et le balisage au même endroit et réenregistrez les fichiers.
Il n'y a pas d'erreurs de génération et le tagPrefix
n'apparaît pas dans la liste déroulante Intellisense à exécution automatique.
Quelqu'un peut-il voir les erreurs que j'ai faites, ou est-ce que quelqu'un connaît une solution que je n'ai pas encore essayée? Je n'ai pas encore essayé d'abattre un coq noir sur mon PC, mais je m'en approche.
Merci d'avoir essayé. Les chemins différents sont un artefact des diverses tentatives que j'ai faites pour résoudre le problème; merci d'avoir attrapé ça. De votre expérience, il semble que le problème est strictement avec Visual Studio et pas avec le code lui-même. Je vais mettre à jour la question pour refléter cela. – FreeRangeOyster