Bry*_*yan 4 asp.net dotnetnuke
我正在努力攻击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.但它会在运行时运行吗?:|
因为项目不是从应用程序根目录开始,所以在必须~正确解析之前,必须告诉项目实际应用程序根目录.进入项目属性的Web选项卡,并确保在"Servers"标题下选择"Use Local IIS Web server".将项目URL设置为特定项目的URL(即http:// localhost/DotNetNuke_2/DesktopModules/Events).然后,检查覆盖应用程序根URL并将其设置为应用程序的根URL(即http:// localhost/DotNetNuke_2).这将允许Web应用程序项目知道如何查找这些控件.
该Src属性是相对于控件的,因此它应该可以正常工作,只需将其设置为"EventIcons.ascx"从应用程序的根目录指定它.
| 归档时间: |
|
| 查看次数: |
2158 次 |
| 最近记录: |