用.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. }

  

接受方法里接收了参数,执行grid绑定和选择页以及行。要在IsPostBack里执行。FineUI框架里只要你不刷新他就一直是那个状态再此方法里父页面其他信息不动只有grid重新绑定了,速度还可以,只要模板列不太多,基本看不出来。

下次将介绍页面排版技巧灵活运用FingUI.Grid及常用Js,后续还有各种Iframe页面交互。

ASP.NET-FineUI开发实践-1的更多相关文章

  1. FineUI开源版(ASP.Net)开发实践-目录

    点我订阅 目前所有博客的截图,方便离线观看,点图片 FineUI初学手册 下载,实例项目搭建 FineUI初学手册-部分JS整理 部分JS整理 ASP.NET-FineUI开发实践-1 实际开发环境是 ...

  2. FineUI开发实践-目录

    点我订阅 目前所有博客的截图,方便离线观看,点图片 FineUI初学手册 下载,实例项目搭建 FineUI初学手册-部分JS整理 部分JS整理 ASP.NET-FineUI开发实践-1 实际开发环境是 ...

  3. FineUI开发实践

    ASP.NET-FineUI开发实践-7 摘要: 下拉显示grid列表.其实很简单,但是试了很多方法,水平有限,主要是都不好使,还是简单的好使了,分享下.先是看了看网上的,是直接写个了extjs控件类 ...

  4. ASP.NET-FineUI开发实践-9(四)

    现在是这么个问题,在开发中表格是动态出来的,就是标准板是全部字段列出,客户要根据情况列出自己想要的,在增加操作页面的同时要是能用前台自带的功能直接保存到后台就好了,现在的列显示和隐藏是不回发的. 1. ...

  5. ASP.NET MVC5 网站开发实践(二) Member区域–管理列表、回复及删除

    本来想接着上次把这篇写完的,没想到后来工作的一些事落下了,放假了赶紧补上. 目录: ASP.NET MVC5 网站开发实践 - 概述 ASP.NET MVC5 网站开发实践(一) - 项目框架 ASP ...

  6. ASP.NET MVC5 网站开发实践(二) Member区域–我的咨询列表及添加咨询

    上次把咨询的架构搭好了,现在分两次来完成咨询:1.用户部分,2管理部分.这次实现用户部分,包含两个功能,查看我的咨询和进行咨询. 目录: ASP.NET MVC5 网站开发实践 - 概述 ASP.NE ...

  7. ASP.NET MVC5 网站开发实践(二) Member区域 - 咨询管理的架构

    咨询.留言.投诉等功能是网站应具备的基本功能,可以加强管理员与用户的交流,在上次完成文章部分后,这次开始做Member区域的咨询功能(留言.投诉都是咨询).咨询跟文章非常相似,而且内容更少.更简单. ...

  8. ASP.NET MVC5 网站开发实践(二) Member区域 - 修改及删除文章

    上次做了显示文章列表,再实现修改和删除文章这部分内容就结束了,这次内容比较简单,由于做过了添加文章,修改文章非常类似,就是多了一个TryUpdateModel部分更新模型数据.   目录: ASP.N ...

  9. ASP.NET MVC5 网站开发实践(二) Member区域 - 全部文章列表

    显示文章列表分两块,管理员可以显示全部文章列表,一般用户只显示自己的文章列表.文章列表的显示采用easyui-datagrid.后台需要与之对应的action返回json类型数据   目录 ASP.N ...

  10. ASP.NET MVC5 网站开发实践(二) Member区域 - 添加文章

    上次把架构做好了,这次做添加文章.添加文章涉及附件的上传管理及富文本编辑器的使用,早添加文章时一并实现. 要点: 富文本编辑器采用KindEditor.功能很强大,国人开发,LGPL开源,自己人的好东 ...

随机推荐

  1. input border IE6 bug

    border:none;与border:0;的区别体现有两点:一是理论上的性能差异二是浏览器兼容性的差异. 1.性能差异[border:0;]把border设为“0”像素虽然在页面上看不见,但按bor ...

  2. 服务器之间socket传输单链接和多连接测试结果

    今天做了一下测试,目的是看看局域网内服务器a,通过一个连接往服务器b传输数据,和通过多个连接传输的不同. 结果发现和多少个连接没关系,一个进程一个连接就能跑满网卡,只要write的时候够快,read的 ...

  3. Linux makefile 教程 非常详细,且易懂(转)

    转自:http://blog.chinaunix.net/uid-27717694-id-3696246.html 原文地址:Linux makefile 教程 非常详细,且易懂 作者:Deem_pa ...

  4. 跟我一起学CMake

    如今CMake使用的人数越来越多,包括我项目组里,很多大牛们在写Qt程序的时候都不用自带的qmake,貌似会出现很多问题,他们往往都用自己写的CMake来编译系统,今天我也和大家一起来学学这个高大上的 ...

  5. android异常之emulator-arm.exe已停止工作

    我遇到的这个问题通过降低了AVD的分辨率后解决了,估计是电脑的显卡不行.

  6. MySql存储过程—3、变量

    1.变量的定义 在Mysql里面可以像我们写代码中一样定义变量来保持中间结果,看下面的格式: DECLARE variable_name datatype(size) DEFAULT default_ ...

  7. Permission denied (publickey).

    问题: ssh-keygen -t rsa -C "youremail@example.com" 若是接连按三次回车,会在-/.ssh下生成 id_rsa, id_rsa.pub ...

  8. laravel框架——composer导入laravel

    第一种: composer create-project --prefer-dist laravel/laravel 名称 "5.2.*"第二种: composer global ...

  9. Tomcat基础教程(三)

    Tomcat中的Web应用 Web应用就是具有特定目录结构的目录和文件. 基于JAVA技术开发的Web应用中通常会包含以下的web对象: 静态文件对象:HTML页面,图片,普通文件 Servlet: ...

  10. Python实现ID3算法

    自己用Python写的数据挖掘中的ID3算法,现在觉得Python是实现算法的最好工具: 先贴出ID3算法的介绍地址http://wenku.baidu.com/view/cddddaed0975f4 ...