用.Net开发3年,主要接触资产管理,生产流程,质量追溯,.Net在这方面还是很靠谱的。2月低接触FineUI,那时版本是3.0+,第一眼让我想起了ExtJs,其实就是用.Net封装了ExtJs让ASP.NET开发更有效率,实际用起来确实是这样。
ASP.NET的回发确实让人头疼,很多东西即使结合前台Js也用的很别扭,而ExtJs在.Net开发环境下又很复杂完全是另一种语言,即使后来有ExtJs For .Net也用不好,结果是没用起来。FineUI处理回发的机制刚好结合了ExtJs和 ASP.NET的优点,让开发变的灰常简单,反正我是这么认为。
好的软件产品要包括以下几点。功能,功能强大能满足实际的各种复杂需求这是最基本的;简易,分两方面一是程序开发要快速简单,减少开发周期,软件成本降低,好的框架必不可少,二是软件操作快捷用起来直观方便;美观,好的UI让人享受,不了解软件的人甚至也有要操作的欲望。我不敢过于抬高FineUI框架,我只能说基本能满足简易和美观两点,我用着足够了。
3月正式启用FineUI框架升级产品。开发中亦遇到了许多问题,大大改变了原来的代码逻辑,不用再处理讨厌的回发,前台JS省了一大片,而且代码全部开源,细心研究也可以学到很多东西,甚至改出适应自己的控件。FineUI集成了很多ASP.NET常用的控件,但毕竟是在ExtJs上搭的所以前台渲染上和ASP.NET控件无甚大关系。SO,记录分享一下开发过程中遇到和解决的问题。让更多的人脱离苦海。教程要自己去看,我不教,我不是大师,不要高看我,我是CodingFarmer别喷我。实际开发环境是FineUI 4.0.4
1.实例代码中GetClientIDS方法
没有什么必要,开始我也没看清,其实就是输出个控件的ClientID,ClientID会在HTML呈现时自动生成,前台的控件写上 ClientIDMode="Static" 就能在前台找到直接F(‘控件ID’)即可。
2.建议使用页面及配置及每个页加上<%@ Register Assembly="FineUI" Namespace="FineUI" TagPrefix="f" %>
沾行代码并不费力,我的项目比较大有的功能不能避免FineUI和ASP.NET页面混合用所以不写成站点及配置,可以兼容多个组件。在FineUI页面下混用ASP.NET控件也不提倡,除非有特殊功能。
3.编辑页面回发
编辑页面后自动刷新父页面列表,__doPostBack得到了解放。直接上代码
function ActiveWindowBack() {
var activeWindow = F.wnd.getActiveWindow();
activeWindow.window.__doPostBack('', 'SaveMs_' + F('_hidPageIndex').getValue() + '_' + F('_hidSelectIndex').getValue());
}
getValue()是得到值,activeWindow.window就是上级页面的意思,后台保存完数据后即可提示和刷新
Alert.Show(resultMsg, "提示", "ActiveWindowBack();");
Alert.Show()输出的是个Div,在点击弹出提示的确认后执行前台ActiveWindowBack方法
父页面接收
01.if (GetRequestEventArgument().IndexOf("SaveMs") >= 0)
02. {
03. string SaveMs = GetRequestEventArgument();
04. BindQueryUserInfo();
05. try
06. {
07. Grid1.PageIndex = Convert.ToInt32(SaveMs.Split('_')[1]);
08. Grid1.SelectedRowIndex = Convert.ToInt32(SaveMs.Split('_')[2]);
09. }
10. catch { }
11. }
下次将介绍页面排版技巧灵活运用FingUI.Grid及常用Js,后续还有各种Iframe页面交互。
ASP.NET-FineUI开发实践-1的更多相关文章
-
FineUI开源版(ASP.Net)开发实践-目录
点我订阅 目前所有博客的截图,方便离线观看,点图片 FineUI初学手册 下载,实例项目搭建 FineUI初学手册-部分JS整理 部分JS整理 ASP.NET-FineUI开发实践-1 实际开发环境是 ...
-
FineUI开发实践-目录
点我订阅 目前所有博客的截图,方便离线观看,点图片 FineUI初学手册 下载,实例项目搭建 FineUI初学手册-部分JS整理 部分JS整理 ASP.NET-FineUI开发实践-1 实际开发环境是 ...
-
FineUI开发实践
ASP.NET-FineUI开发实践-7 摘要: 下拉显示grid列表.其实很简单,但是试了很多方法,水平有限,主要是都不好使,还是简单的好使了,分享下.先是看了看网上的,是直接写个了extjs控件类 ...
-
ASP.NET-FineUI开发实践-9(四)
现在是这么个问题,在开发中表格是动态出来的,就是标准板是全部字段列出,客户要根据情况列出自己想要的,在增加操作页面的同时要是能用前台自带的功能直接保存到后台就好了,现在的列显示和隐藏是不回发的. 1. ...
-
ASP.NET MVC5 网站开发实践(二) Member区域&ndash;管理列表、回复及删除
本来想接着上次把这篇写完的,没想到后来工作的一些事落下了,放假了赶紧补上. 目录: ASP.NET MVC5 网站开发实践 - 概述 ASP.NET MVC5 网站开发实践(一) - 项目框架 ASP ...
-
ASP.NET MVC5 网站开发实践(二) Member区域&ndash;我的咨询列表及添加咨询
上次把咨询的架构搭好了,现在分两次来完成咨询:1.用户部分,2管理部分.这次实现用户部分,包含两个功能,查看我的咨询和进行咨询. 目录: ASP.NET MVC5 网站开发实践 - 概述 ASP.NE ...
-
ASP.NET MVC5 网站开发实践(二) Member区域 - 咨询管理的架构
咨询.留言.投诉等功能是网站应具备的基本功能,可以加强管理员与用户的交流,在上次完成文章部分后,这次开始做Member区域的咨询功能(留言.投诉都是咨询).咨询跟文章非常相似,而且内容更少.更简单. ...
-
ASP.NET MVC5 网站开发实践(二) Member区域 - 修改及删除文章
上次做了显示文章列表,再实现修改和删除文章这部分内容就结束了,这次内容比较简单,由于做过了添加文章,修改文章非常类似,就是多了一个TryUpdateModel部分更新模型数据. 目录: ASP.N ...
-
ASP.NET MVC5 网站开发实践(二) Member区域 - 全部文章列表
显示文章列表分两块,管理员可以显示全部文章列表,一般用户只显示自己的文章列表.文章列表的显示采用easyui-datagrid.后台需要与之对应的action返回json类型数据 目录 ASP.N ...
-
ASP.NET MVC5 网站开发实践(二) Member区域 - 添加文章
上次把架构做好了,这次做添加文章.添加文章涉及附件的上传管理及富文本编辑器的使用,早添加文章时一并实现. 要点: 富文本编辑器采用KindEditor.功能很强大,国人开发,LGPL开源,自己人的好东 ...
随机推荐
-
ImageLoader
配置ImageLoader 一般我们在使用ImageLoader的时候,需要在应用程序的入口进行它的一个配置,这个配置一般写到Application里边 * public void initImage ...
-
[BZOJ2599][Race][IOI2011]点分治
这是为了真正去学一下点分治..然后看了迪克李的ppt 又是一道写(改)了很久的题..终于ac了 1354799 orzliyicheng 2599 Accepted 31936 kb 23584 ms ...
-
Struts2的类型转换(下)
Struts2提供的类型转换: Struts2提供的是一个名叫StrutsTypeConverter的抽象类,这个类实际上是DefaultTypeConverter的子类.当我们继承自该抽象类 时,要 ...
-
float之脱离文档流
所谓的文档流:指的是元素在排版过程中,元素自动从左到右,从上到下的顺序排列. 脱离文档流:也就是将元素从普通的布局排版中拿走,其他盒子在定位的时候,会当做脱离文档流的元素不存在而进行定位 只有绝对定位 ...
-
JavaScript闭包应用的整理
0 什么是JavaScript闭包? 当函数定义内部的函数被保存到外部时,就会形成闭包.闭包会导致作用域链不释放,造成内存泄漏. 1 获取局部变量 [练习目的] 下面这个练习,是为了通过闭包实现获取定 ...
-
编译部署mysql5.7.13
署环境centos7.2+mysql5.7.131.依赖包注: 相关依赖包的作用cmake:由于从 MySQL5.5 版本开始弃用了常规的 configure 编译方法,所以需要 CMake 编译器, ...
-
Linux学习之CentOS(三)--初识linux的文件系统以及用户组等概念
Linux学习之CentOS(三)--初识linux的文件系统以及用户组等概念 进入到了Linux学习之CentOS第三篇了,这篇文章主要记录下对linux文件系统的初步认识,以及用户组.用户权限.文 ...
-
java高级---->;Serializable的过程分析
本次讲解中我们在上次的基础上,深入的了解一下序列化的流程以及其中的原理.关于序列化的一些知识与使用,请参见我的另一篇博客:java基础---->Serializable的使用.好了,我们进行以下 ...
-
laravel中的注册页面
<?php namespace App\Http\Controllers; use App\User; use Illuminate\Http\Request; class RegisterCo ...
-
转:IOS:查找SDK路径和Framework头文件
通过Terminal进入Xcode.app所在目录,可以找到相应的SDK路径,相关 的Framework的头文件也在改目录下. 示例如下: Frameworks /Applications/xcode ...