zoukankan      html  css  js  c++  java
  • CommunityServer从V1.1转换为V2.0的问题

    昨天没有事,就想实验一下.NET1.1到.NET2.0的兼容性如何,我从http://bbs.hidotnet.com下在了CS,一个比较有名的论坛,转换过程很顺利,但是运行后发现了问题:类似如下:
      protected System.Web.Profile.DefaultProfile Profile {
    Line 210:            get {
    Line 211:                return ((System.Web.Profile.DefaultProfile)(this.Context.Profile)); 

    请注意错误位置:
     c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\forums\9ef6037b\2a750bf2\App_Web_skin-navigationmenu.ascx.
    很明显,打开该文件可以发现定义了一个ID为Profile的控件,Profile在ASP.NET1.1里并无特殊意思,但是到V2.0就是存储用户档案,具有内在的意思. 由于该文件只是定义一个架子,所以更改其ID为其他值,例如Profile1就可以了.

    接下来运行很好,正在我赞扬ASP.NET2.0做的好的时候,结果问题来了,在我进入后台管理面版后,出现如下错误:

    法将类型为“MetaBuilders.WebControls.MasterPages.Region”的对象强制转换为类型“AspNetForums.Admin.ForumAdmin”。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

    异常详细信息: System.InvalidCastException: 无法将类型为“MetaBuilders.WebControls.MasterPages.Region”的对象强制转换为类型“AspNetForums.Admin.ForumAdmin”。

    源错误:

    [没有相关的源行]

    源文件: c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\bbs\5122bee7\c88c93a5\App_Web_5m1vozlj.19.cs    行: 0


    从提示内容看,是Region出错,遗憾的是:这是一个第三方组建,所以我们并不能够修改其代码,稍微熟悉ASP.NET2.0的人应该都能够感觉,这个控件其实就是ASP.NET2.0里的MasterPage (母板).
    查看一下代码就设计两个文件,我写了三个页面,供大家修复这个bug
    单击下载这三个文件/Files/mqingqing123/fixcsbug.rar
    下载后可以发现一个是ForumAdmin.aspx,  用该文件覆盖原CS的admin目录下的ForumAdmin.aspx文件,ForumGroupAdmin.aspx覆盖ForumGroupAdmin.aspx
       另外一个是AdminMasterPage.master,把他拷贝到CS的Themes目录下,你也不用重新编译,就能够修复这个问题.

    另外,运行后还发现一个问题:Popupbox.dll也不好用. 由于Popupbox是基于.NET1.1,现在这个问题还不好解决,一个简单的方法是直接删除该pop.aspx 文件,不用该控件.
    从上面可以看到,ASP.NET1.1转换到ASP.NET2.0一般没有问题,但是在转换第三方控件时,问题多多.


    本文相关代码/Files/mqingqing123/fixcsbug.rar
  • 相关阅读:
    mysql 遇到的一些问题
    Nginx 深入浅出学习
    spring十三种代理之 -代理模式
    spring 十三种模式之 -- 装饰器模式
    layui使用遇到的一些问题-- 数据表格中嵌套下拉框
    格式化时间-标准做法
    provide --- inject
    vue窗口最上边显示路由进度条
    element --- el-popover
    多个音频播放时,只能播放一个
  • 原文地址:https://www.cnblogs.com/mqingqing123/p/499391.html
Copyright © 2011-2022 走看看