加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

为什么ASP.NET自动生成的.designer代码的类型不正确?

发布时间:2020-12-16 06:35:31 所属栏目:asp.Net 来源:网络整理
导读:我正在努力攻击DotNetNuke Events模块.我已经设置了源代码,并且无需修改即可构建A-OK.但是,当我更改EventMonth.ascx文件时,Visual Studio会更新与之关联的.designer.vb文件…并声明两个类型错误的对象!它看起来像这样: Protected WithEvents EventIcons As
我正在努力攻击DotNetNuke Events模块.我已经设置了源代码,并且无需修改即可构建A-OK.但是,当我更改EventMonth.ascx文件时,Visual Studio会更新与之关联的.designer.vb文件…并声明两个类型错误的对象!它看起来像这样:

Protected WithEvents EventIcons As Global.System.Web.UI.UserControl

应该是这样的:

Protected WithEvents EventIcons As Global.DotNetNuke.Modules.Events.EventIcons

显然,这不会起作用……编译器(正确地)抛出了一个错误,其中在代码中使用了EventIcons.是什么导致这个?我可以轻松地手动修复它,但当然它稍后会再次破坏.我不认为控件的ID与类名相同,因为同一控件的另一个实例会发生同样的事情,但名称不同.

更新:好的……我相信这种情况正在发生,因为在设计时无法找到引用的用户控件.但它显然在运行时工作:

<%@ Register TagPrefix="evt" TagName="Icons" Src="~/DesktopModules/Events/EventIcons.ascx" %>

这具有逻辑意义……但我想问题就变成“在设计时解决了什么?”我想我可以将其更改为“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”,而不是从应用程序的根目录指定它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读