我添加了一个新的控制,以我的aspx文件,发现不仅是不是添加到设计文件中的新的控制,但它也很缺由团队的其他成员添加的其他一些控制.我尝试删除designer.cs文件并使用"转换为Web应用程序"但没有成功.我尝试过的其他一些事情已经从项目中排除了aspx,构建,然后重新包含但没有成功.我还手动输入设计器中缺少的控件.当我这样做后运行时会出现一个错误,说明控件没有定义,即使它实际上是,并且我应该检查我是否缺少指令.
我添加的第一个控件是来自类似控件的复制和粘贴,并进行了必要的更改.但是,我也尝试手动创建具有相同结果的控件.
有任何想法吗?
在为DotNetNuke构建自定义模块时,每当我需要编辑一个.ascx使用DotNetNuke TextEditor控件的控件时,我就遇到了这个恼人的问题.
如果我对.ascx文件进行了任何更改,则控件的designer文件会System.Web.UI.UserControl在更改后将控件的定义恢复为.如果我手动将定义更改回DotNetNuke.UI.UserControls.TextEditor,我可以成功构建,直到我.ascx再次对控件进行另一次更改.我搜索过DNN论坛和Stack Overflow,但还没有找到解决这个问题的方法.
我正在努力攻击DotNetNuke Events模块.我已经设置了源代码,并且无需修改即可构建A-OK.但是,当我更改EventMonth.ascx文件时,Visual Studio会更新与之关联的.designer.vb文件...并声明两个类型错误的对象!它看起来像这样:
Protected WithEvents EventIcons As Global.System.Web.UI.UserControl
Run Code Online (Sandbox Code Playgroud)
应该是这样的:
Protected WithEvents EventIcons As Global.DotNetNuke.Modules.Events.EventIcons
Run Code Online (Sandbox Code Playgroud)
显然,这不会起作用......编译器(正确地)抛出了一个错误,其中在代码中使用了EventIcons.是什么导致这个?我可以轻松地手动修复它,但当然它稍后会再次破坏.我不认为控件的ID与类名相同,因为同一控件的另一个实例会发生同样的事情,但名称不同.
更新:好的......我相信这种情况正在发生,因为在设计时无法找到引用的用户控件.但它显然在运行时工作:
<%@ Register TagPrefix="evt" TagName="Icons" Src="~/DesktopModules/Events/EventIcons.ascx" %>
Run Code Online (Sandbox Code Playgroud)
这具有逻辑意义......但我想问题就变成"在设计时解决了什么?" 我想我可以将其更改为"EventIcons.ascx",它将生成代码OK.但它会在运行时运行吗?:|