gpt4 book ai didi

namespaces - 如何将带有资源的皮肤对象控件移动到 DNN 模块并在没有命名空间错误的情况下构建模块?

转载 作者:行者123 更新时间:2023-12-04 16:59:50 30 4
gpt4 key购买 nike

我使用从皮肤文件(皮肤对象)复制的代码创建了一个 DotNetNuke 模块。
我试图把它变成一个模块,这样我就可以把它放在任何页面上,并以我喜欢的任何方式移动和操纵它。

我已经设法让模块工作,但只是在安装模块并刷新页面后找不到标签前缀之后。

问题是 Visual Studio 提示它找不到命名空间,但这些资源是在皮肤文件中定义的。

<%@ Register TagPrefix="dnn" TagName="USER" Src="/Admin/Skins/User.ascx" %>
<%@ Register TagPrefix="dnn" TagName="LANGUAGE" Src="/Admin/Skins/language.ascx" %>
<%@ Register TagPrefix="dnn" TagName="LOGIN" Src="/DesktopModules/LoginSkinObject/ParrotLoginSkinObject.ascx" %>

<div class="loginlinkwrapper">
<em class="fa fa-user"></em><dnn:USER runat="server" id="dnnUSER" CssClass="login" />&nbsp;&nbsp;
<em class="fa fa fa-lock"></em><dnn:LOGIN runat="server" id="dnnLOGIN" CssClass="login" />&nbsp;&nbsp;
<dnn:LANGUAGE runat="server" id="dnnLANGUAGE" showMenu="False" showLinks="True" />
</div>

我只需要一种让 Visual Studio 构建模块的方法,而无需提示命名空间。

这是我在输出窗口中得到的错误(请注意,我们在 VS 中只有我们的 DesktopModules 以保持一切整洁:

enter image description here

这是在皮肤文件中已经定义资源的地方。
enter image description here

现在,我确实尝试从 DNN 复制资源并将其添加到项目中,但由于某种原因它找不到它。是否有我可以添加的 web.config 设置?

最佳答案

你没有用 ~ 做引用的任何特殊原因

<%@ Register TagPrefix="dnn" TagName="USER" Src="~/Admin/Skins/User.ascx" %>
<%@ Register TagPrefix="dnn" TagName="LANGUAGE" Src="~/Admin/Skins/language.ascx" %>
<%@ Register TagPrefix="dnn" TagName="LOGIN" Src="~/DesktopModules/LoginSkinObject/ParrotLoginSkinObject.ascx" %>

您还应该仔细检查 IIS 在/desktopmodules/文件夹中没有应用程序/虚拟目录,因为这有时会发生并导致问题。

您可能会尝试的另一件事是在构建时简单地关闭 ASCX 文件,然后查看 Visual Studio 是否停止对其进行提示。

关于namespaces - 如何将带有资源的皮肤对象控件移动到 DNN 模块并在没有命名空间错误的情况下构建模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57858824/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com