我正在使用DDRMenu in DotNetNuke从我的站点结构中选择一个菜单节点,并在模板中的特定导航中只显示一个子节点
<%@ Register TagPrefix="dnn" TagName="MENU" Src="~/DesktopModules/DDRMenu/Menu.ascx" %>
<dnn:MENU ID="MenuFooter" MenuStyle="MenuFooter" IncludeHidden="true" NodeSelector="FooterNavigation,0,1" runat="server" ></dnn:MENU>现在,我希望能够在文件后面的代码中设置NodeSelector属性,因为我希望能够动态地设置Page_Load的值。
// load footer navigation node from a config file
protected void Page_Load(object sender, EventArgs e)
{
var footerNode = Config.Instance.Navigation.FooterNode;
MenuFooter.NodeSelector = footerNode + ",0,1";
}但是这是行不通的,因为在NodeSelector上没有System.Web.UI.UserControl属性。
错误'System.Web.UI.UserControl‘不包含'NodeSelector’的定义,也找不到接受'System.Web.UI.UserControl‘类型的第一个参数的扩展方法'NodeSelector’(您缺少使用指令还是程序集引用?)C:\Projects\eWolf2012\dev\DNN\Portals_default\Skins\JWEwolfSkin2012\Simple.ascx.cs 141 24 JWEwolfSkin2012
有办法做到这一点吗?
亲切的问候
发布于 2014-10-21 07:17:53
通常,Menu.ascx in DDRMenu继承自DDRMenu SkinObject
<%@ Control Language="C#" AutoEventWireup="false" EnableViewState="false" Inherits="DotNetNuke.Web.DDRMenu.SkinObject" %>由于您讨论的是更改后面的代码,我猜您使用的是嵌入Menu.ascx的自定义控件。在这种情况下,您应该能够访问NodeSelector属性,因为它存在于SkinObject类中。
我怀疑发生的情况是,您的控件类型没有被设计器正确加载,并且它落在没有NodeSelector属性的NodeSelector类型上。
尝试以下几点:
https://stackoverflow.com/questions/26468697
复制相似问题