FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 6149|回复: 4
打印 上一主题 下一主题

从3.X升级到4.1.4的经验分享

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-8 12:05:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近想把项目从3.2的版本升级到4.1.4,一个月前就试过一次,运行了升级工具后再打开项目,结果页面打不开了,只接给吓住了,没敢升级,这不国庆放假了,也能静下来升级了,经过几天的努力,终于升级完成了,总共有30多个页面需要手工修改,现将经验分分享如下:
第一步: 下载一个适合新版本的空项目,我下载的是.net4.0的,和那个专用的升级工具
第二步:运行升级工具后把extjs和res这两个文件夹复制到项目的根目录那里,复制fineui.dll和Newtonsoft.Json.dll替换原来的文件.
第三步:打开web.config,在最后的部分增加下面的代码,不然会出现无法引用什么之类的错误.最是恼心了
  1. <runtime>
  2.     <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  3.       <dependentAssembly>
  4.         <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral"/>
  5.         <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0"/>
  6.       </dependentAssembly>
  7.     </assemblyBinding>
  8.   </runtime>
  9. </configuration>
复制代码
到此基本上你的页面就能打开了,虽然布局已经有些乱了,但更改起来也不费劲,需要更改和注意的事项有下面的
1.panel的布局,如果你的以前是row布局,那么不好意思了,现在它不支持了,由于我的基本上都是查询页面,文本框按钮都是在一行里了,解决方法是换成fit布局,然后把文本框按钮放到了panel的工具栏里了,这样竟然比以前的代码简洁多了,少用了两个panel,如下
  1. <f:Panel ID="P1" runat="server" BodyPadding="0px" ShowBorder="false" ShowHeader="false" Layout="fit">
  2.     <Toolbars>
  3.         <f:Toolbar runat="server" ToolbarAlign="Left">
  4.             <Items>
  5.                     <f:Label ID="Label1" runat="server" Label="" Text="课件名称" Width="60"></f:Label>
  6.                     <f:TextBox ID="Txt_mc" runat="server" Label="" Text="" Width="140" EmptyText="音频资料的名称"></f:TextBox>
  7.                     <f:Label ID="Label2" runat="server" Label="" Text="课件地址" Width="60" CssClass="Left20"></f:Label>
  8.                     <f:TextBox ID="Txt_tb" runat="server" Label="" Text="" Width="220" EmptyText="请使用正确的路径信息"></f:TextBox>
  9.                     <f:Label ID="Label4" runat="server" Label="" Text="说明" Width="30" CssClass="Left20"></f:Label>
  10.                     <f:TextBox ID="Txt_sm" runat="server" Label="" Text="" Width="220" EmptyText="300字以内的介绍性文字"></f:TextBox>
  11.                     <f:Button ID="Btn_save" runat="server" Text="音频入库" CssClass="Left20"></f:Button>
  12.                 </Items>
  13.         </f:Toolbar>
  14.     </Toolbars>
  15.         <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),所以只需要更改一下参数类型就可以了,如下
  1. 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来统一定义其高度,配合上隐藏列功能,有兴趣的可以设置好几个,用户就能根据需要选择行高是多少了.
  1. <f:TemplateField ID="TemplateField2" runat="server" Width="1px" HeaderText="高度">
  2.                             <ItemTemplate>
  3.                                 <asp:TextBox ID="TextBox2" runat="server" CssClass="TableH"></asp:TextBox>
  4.                             </ItemTemplate>
  5.                         </f:TemplateField>
复制代码
10.表格的表头高度变高了,色彩也是比较刺激的,不需要的就去掉吧,要不很不舒服.
好了,目前遇到的就这问题,希望对升级的朋友有些帮助吧.




沙发
发表于 2014-10-9 09:20:13 | 只看该作者
升级干嘛呀,4.x速度太慢,还是用3.x的吧。
板凳
发表于 2014-10-11 11:41:22 | 只看该作者
是开源版还是专业版?
地板
发表于 2014-10-23 15:25:16 | 只看该作者
感谢先头部队的经验分享!我也准备升级
5#
发表于 2014-10-23 18:35:16 | 只看该作者
已经升级不过4.x bug不少
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-11-23 00:50 , Processed in 0.046523 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表