最近想把项目从3.2的版本升级到4.1.4,一个月前就试过一次,运行了升级工具后再打开项目,结果页面打不开了,只接给吓住了,没敢升级,这不国庆放假了,也能静下来升级了,经过几天的努力,终于升级完成了,总共有30多个页面需要手工修改,现将经验分分享如下:
第一步: 下载一个适合新版本的空项目,我下载的是.net4.0的,和那个专用的升级工具
第二步:运行升级工具后把extjs和res这两个文件夹复制到项目的根目录那里,复制fineui.dll和Newtonsoft.Json.dll替换原来的文件.
第三步:打开web.config,在最后的部分增加下面的代码,不然会出现无法引用什么之类的错误.最是恼心了
- <runtime>
- <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
- <dependentAssembly>
- <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral"/>
- <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0"/>
- </dependentAssembly>
- </assemblyBinding>
- </runtime>
- </configuration>
复制代码 到此基本上你的页面就能打开了,虽然布局已经有些乱了,但更改起来也不费劲,需要更改和注意的事项有下面的
1.panel的布局,如果你的以前是row布局,那么不好意思了,现在它不支持了,由于我的基本上都是查询页面,文本框按钮都是在一行里了,解决方法是换成fit布局,然后把文本框按钮放到了panel的工具栏里了,这样竟然比以前的代码简洁多了,少用了两个panel,如下
- <f:Panel ID="P1" runat="server" BodyPadding="0px" ShowBorder="false" ShowHeader="false" Layout="fit">
- <Toolbars>
- <f:Toolbar runat="server" ToolbarAlign="Left">
- <Items>
- <f:Label ID="Label1" runat="server" Label="" Text="课件名称" Width="60"></f:Label>
- <f:TextBox ID="Txt_mc" runat="server" Label="" Text="" Width="140" EmptyText="音频资料的名称"></f:TextBox>
- <f:Label ID="Label2" runat="server" Label="" Text="课件地址" Width="60" CssClass="Left20"></f:Label>
- <f:TextBox ID="Txt_tb" runat="server" Label="" Text="" Width="220" EmptyText="请使用正确的路径信息"></f:TextBox>
- <f:Label ID="Label4" runat="server" Label="" Text="说明" Width="30" CssClass="Left20"></f:Label>
- <f:TextBox ID="Txt_sm" runat="server" Label="" Text="" Width="220" EmptyText="300字以内的介绍性文字"></f:TextBox>
- <f:Button ID="Btn_save" runat="server" Text="音频入库" CssClass="Left20"></f:Button>
- </Items>
- </f:Toolbar>
- </Toolbars>
- <Items>
复制代码 2.label标签的更改,原来label如果是空白的什么也不显示,我常用来填充空白对齐文本框,但是升级到新版本后空白的标签会显示"label:",解决方法是在本项目中替换所有的label="label"为label=""就可以了.
3.button不支持visible属性了, 如果以前设置了那个升级后会报错,把那更改成hidden="true"就可以了
4.文本框的enable属性虽然还在,但是外观改变了,看起来很是不方便,不容易被人看到,所以只能更改为readonly="true"来解决一下了.
5.关于表格的更改方面,原来的 Dictionary(Of String, string)更改为了 Dictionary(Of String, Object),所以只需要更改一下参数类型就可以了,如下
- Dim modifiedDict As Dictionary(Of Integer, Dictionary(Of String, Object)) = DG_show.GetModifiedDict
复制代码 6.下拉列表框的变化比较大,右边的下拉三角明显比以前大了很多,升级后原来的内容显示不全了,需要加大下拉列表框的宽度,我是每个都加宽了10px,哎,好多布局都得调整一下.
7.hiddenfield本来是个隐藏的控件,可是在新版本中竟然会在页面占用一定的高度,估计是5px吧,让人很难过啊,试着放到panel,结果无法获取到其值了,我的是弹出窗口,不知其他人遇到这个问题了没有.
8.原来用css进行定位设置控件间隙的,需要更改一下了,原来设置距左边20px的,现在只需要10px就够了,按钮之间本身就有5px的间隔了.
9.表格没有行高了,看起来不舒服,如果需要设置行高的,需要增加一个1px宽度的模版列,通过CssClass来统一定义其高度,配合上隐藏列功能,有兴趣的可以设置好几个,用户就能根据需要选择行高是多少了.
- <f:TemplateField ID="TemplateField2" runat="server" Width="1px" HeaderText="高度">
- <ItemTemplate>
- <asp:TextBox ID="TextBox2" runat="server" CssClass="TableH"></asp:TextBox>
- </ItemTemplate>
- </f:TemplateField>
复制代码 10.表格的表头高度变高了,色彩也是比较刺激的,不需要的就去掉吧,要不很不舒服.
好了,目前遇到的就这问题,希望对升级的朋友有些帮助吧.
|