找不到文件'〜/ controls / labelcontrol.ascx“

问题描述 投票:2回答:1

我是视觉工作室和dnn的新手,我正在学习一本书的“基础知识”。我正试图建立我的第一个模块。在其中一个ascx文件中,我有以下代码:

<%@ Control Language="C#" AutoEventWireup ="true" CodeBehind="Settings.ascx.cs" Inherits="wrox.Modules.guestbook.Settings" %>
<%@ Register TagName="label" TagPrefix="dnn" Src="~/controls/labelcontrol.ascx" %>

<fieldset>
    <div class="dnnFormItem">
        <dnn:Label ID="lblAutoApprove" runat="server" ResourceKey="lblAutoApprove"
            ControlName="chkAutoApprove" />
    </div>
</fieldset>


<asp:CheckBox runat="server" ID="chkAutoApprove" />

以下代码提供以下警告:找不到文件'〜/ controls / labelcontrol.ascx“

<%@ Register TagName="label" TagPrefix="dnn" Src="~/controls/labelcontrol.ascx" %>

我需要为这段代码使用labecontrol.ascx文件。

<div class="dnnFormItem">
    <dnn:Label ID="lblAutoApprove" runat="server" 
      ResourceKey="lblAutoApprove"
        ControlName="chkAutoApprove" />
</div>

这段代码给出了以下警告,因为缺少labecontrol.ascx文件(据我所知):元素'Label'不是已知元素。如果网站中存在编译错误,或者缺少web.config文件,则会发生这种情况。

我在这个网站上发现了两个类似的问题。 The first one不是很有帮助,因为答案是忽略警告。我不想这样做。 The second question没有帮助,因为他/她有一个错字。

我怎么能摆脱这个警告?

注意:我使用的是visual studio 2017和dotnetnuke 8

visual-studio dotnetnuke
1个回答
2
投票

自从我完成DNN开发以来已经有一段时间了,但问题通常是当你制作一个自定义模块时,你可以使用DNN其余部分所在的上下文,但在开发期间,DNN的其余部分不是实际上(或至少没有Visual Studio期望找到它)。

我想你可以通过将DNN标签控件复制到模块的controls文件夹中来消除警告。如果你这样做,我会确保你的构建不包含DNN控件,并将它放在源代码控制使用的任何忽略列表中。

© www.soinside.com 2019 - 2024. All rights reserved.