后来,在网上找到一款还不错的框架——Ext.NET。这对于.NET开发人员来说,能节省不少时间。至少带智能提示的xml配置怎么也要比写js要顺手方便多了。而且其还是免费开源的。 这个据老外说,貌似是ExtJS的Bug,因为Ext.NET会根据你的设置生成标准的ExtJS配置。不过,人总不能在一棵树上吊死吧。 这个老外说了是低版本的ExtJS的问题,于是下载了Ext.NET的整个源码,查看js,发现其目前打包的资源是3.3.0版本。也许就是后面少了个1吧。 而我在Ext.NET里面是动态添加CheckBox(在Page_Load事件中添加),查看源码,根据生成的js配置,是在checkboxGroup的items属性里面"new Ext.form.Checkbox 把代码发到Ext.NET论坛,发现老外们也没辙。
1、js(Ext)操作 Ext.Msg.alert('系统提示', '未连接血站,该功能暂时不能使用。'); Ext.getCmp("id").getValue(); Ext.getCmp("id").focus(); Ext.getCmp("id").selectText(); 2、后置类选择提示窗口 X.Msg.Confirm("系统提示", "确认保存复检信息?", new MessageBoxButtonsConfig { Yes = new MessageBoxButtonConfi
前言 从系统改版到现在,将近半年的时间,原本陌生的Ext.NET的UI框架,也慢慢的熟悉了。总的来说,这个UI框架还是很优秀的,但是也没有100%完美的产品(老系统使用easy ui其实也挺好的)。 为什么使用Ext.NET 当初决定改版用EXT.NET,主要是因为兼容浏览器,以及是开发效率高。当然了,有些浏览器的兼容性并不是十分完美,例如ie7。 开门见山 http://examples.ext.net/ ext.net官网,提供一些简单的demo,这是主要资料的的来源,不过基本呢上能应付开发了。
Ext.net V1.0数据操作介绍 简介 Ext.net V1.0前身叫Coolite V0.8以前我用Coolite做过一个小项目,效果很不错,现在www.coolite.com已经变成www.ext.net ,正式发布 ext.net V1.0 新增了不少新功能,前台的JS也更容易操作,非常不错,完全可用于一些小项目的开发。 Ext.net官方网站的介绍是一个用于快速开发asp.net的富AJAX的web应用程序控件类库,底层使用的javascript类库是Ext.js(开源的商业类库),当然Ext.net也是开源,但如果用于商业开发 Ext.net提供了差不多100个组件,非常丰富基本上可以满足绝大数的项目需求。 总结 从以上Demo可以看出Ext.net/Ext.js,通过JSON序列化非常方便了JavaScript与后台C# 代码的交互,要比JQuery方便。
在上一篇《EXT.NET高效开发(一)——概述》中,大致的介绍了一下EXT.NET。那么本篇就要继续完成未完成的事业了。说到高效开发,那就是八仙过海各显神通。 在使用EXT.NET的时候(当然不仅仅是EXT.NET),总是要做很多重复的事,于是封装一些实用的函数可以一劳永逸呀。
1)单选框和复选框.
看图说话开始了,如图
? 3)SharePoint中,给EXT.NET赋权。
这段代码,提供给需要的人吧。当初这问题把我折磨得快疯狂了。还好想到了这么一个解决方案。 ///
前面提到过工作台(《EXT.NET复杂布局(一)——工作台》)了,不知道各位看过之后有什么感想。这次就介绍介绍使用EXT.NET画几个报表。 看图写作从小学就开始了,如图: ? 图一 ? 图二 ? 其实注释挺全的,所以也不需要说什么话了: <%@ Register Assembly="<em>Ext.Net</em>" Namespace="<em>Ext.Net</em>" TagPrefix="ext" %> <style type 现在一起来ViewCode: <%@ Register Assembly="<em>Ext.Net</em>" Namespace="<em>Ext.Net</em>" TagPrefix="ext" %> <ext:ResourceManager 先看页面代码(页面代码很简洁): <%@ Register Assembly="<em>Ext.Net</em>" Namespace="<em>Ext.Net</em>" TagPrefix="ext" %> <style type=" 封装点函数,整个动态生成,也是一种高效的开发,这也是我<em>EXT.NET</em>高效开发系列所推崇的(<em>EXT.NET</em>高效开发(二)——封装函数)。
之前就有想法说说这方面,直到看到我上一篇博客《EXT.NET复杂布局(一)——工作台》的回复: 小龙3:ext.net 比使用傳統的webform控件开发时间多多少? 我就决定提前写这一系列了。 相比Extjs,Ext.NET毋庸置疑的可以大大提高生产力(这里我只说EXT.NET的优势): 1)带智能提示的配置。 的DirectEvent事件或Page_Load事件这操作EXT.NET控件,比JavaScript操作更方便。 4)EXT.NET或者Extjs还不够完善。(生产力--) EXT.NET是存在一些Bug的,在前面的文章我就提及过,但是并不影响开发。 (生产力--) 由于对EXT.NET的不理解、不熟悉,或者对extjs的不了解(前面说过,使用EXT.NET也需要了解Extjs。毕竟Extjs是他爸啊。)
ExtJS验证很方便,在使用FormPanel的时候,我们可以很方便的进行验证。比如设置必填项、正则、字段类型等等。比如如下所示:
这里没有使用EXT.NET的对象,直接写的纯Extjs。 ? 这里是在后台代码进行判断,首先获取浏览器信息判断,然后注册相应的Extjs脚本。当用户点是,则下载。 接下来的随笔还会介绍EXT.NET如何与Silverlight结合布局。 其实想想就明白了,EXT.NET在后台对前台进行操作,依赖的是Extjs,也就是它会向前台输送Javascript,干的好好的,你突然向人家输送一个文件流,那么人家就不认了。那么怎么实现下载呢? ;})();alert(1);alert(2);alert(3);"} 这下子,你明白了EXT.NET是如何在后台对界面进行更改的吧。 5)页面提示跳转 既然人家封装了,既然用的是EXT.NET,改用的还是要用的。
前面已经提到过EXT.NET了。EXT.NET是一组基于ExtJS库开发的开源的ASP.NET组件。 使用Ext.NET开发,比直接写JS更利于维护,也更方便开发。 具体代码如下: <%@ Register Assembly="<em>Ext.Net</em>" Namespace="<em>Ext.Net</em>" TagPrefix="ext" %> <ext:ResourceManager ID 在添加任何Ext.NET控件前,都需要先添加ResourceManager控件。 (二)接下来,就需要编写一些JS了。 使用EXT.NET就不代表不需要写EXTJS,更不代表不需要了解Extjs。 你会发现,在使用EXT.NET的过程中,也会对Extjs有一定的了解。 仅供参考,嘿嘿,因为EXT.NET使用的Ext版本还比较低) http://www.ext.net(Ext.NET) http://examples.ext.net/(Ext.NET示例)
那么本节就来讲述如何使用EXT.NET对复杂的表单进行布局。 没啥积极性了,所以更新速度比以前慢了很多。但是,会接着写下去。 顺便宣传一下一个EXT.NET群(120521984),欢迎交流技术,不欢迎随便问问题。 在开始之前,我要阐述几个观点: 不要依赖VS的设计视图,不只是针对EXT.NET。 很多朋友总是问,EXT.NET为什么在设计视图里不显示?(事实上是没有的。)为什么我拖一个控件后,VS就崩溃了(设计器有点烂)? 作为一名程序员,要多考虑利用各种条件来分析问题,比如利用开发人员工具(EXT.NET高效开发(三)——使用Chrome浏览器的开发人员工具),利用VS调试,查看API、文档、示例、EXT.NET源码等等
具体可参考ext.net 提供的demo http://examples.ext.net/#/Chart/Area/Basic/ 小白在项目中用到的其他优秀的图表插件 fashion chart http
最近在用Ext.NET,因为是在SharePoint环境下使用,一直被这样一个问题所困扰着:在使用Ext.NET时,页面必须使用拥有管理权限的用户刷新一次(只要刷新其中任意Ext.NET 而Extjs的脚本文件和css文件是作为资源嵌套在Ext.NET的dll中的。由此想到,应该是用户权限问题,导致Ext.NET的ResourceManager1控件无法注册脚本。 定义了以下扩展方法来注册EXT的脚本和样式:
public static class ExtensionMethods
{
///
此篇为EXT.NET系列终结篇。希望此系列能够对大家有所帮助。 首页JS函数介绍 使然使用了Ext.NET,但是JavaScript的地位还是举足轻重的。 工作台的代码,其他篇幅有部分介绍,可以参考EXT.NET复杂布局(一)——工作台。 ; 关于表单的一些介绍,请看EXT.NET复杂布局(三)——复杂表单布局。 尾声 从使用EXT.NET到现在,也差不多一年了,真正使用的时间也只有几个月而已。现在回想起来,还是感慨良多。 回想当初上手的时候,不仅ext不熟悉,而且对EXT.NET也一无所知,中间碰到过许多问题,但是挺过来了,而且还留下了自己的足迹。 希望我的帖子能够帮助各位更快的掌握EXT以及EXT.NET,也希望能为EXT.NET的资料库添加块砖片瓦。 最后,附上源码。
很久没有发帖了,很是惭愧,因此给各位使用EXT.NET的朋友献上一份礼物。 本篇主要讲述页面设计与效果,下篇将讲述编码并提供源码下载。 由于加群的人太多,EXT.NET群已满。由于现在是业余弄弄EXT.NET,所以本人也不会过多与大家交流EXT.NET,还写一篇,作为结尾好了。 这几天有空的话,尽量完善这个DEMO吧。
前面说过了EXT.NET,这里顺便再说说JQuery EasyUI。为啥我会选择JQuery EasyUI呢?主要有以下几点: 轻量级。 基本的组件都用,即“麻雀虽小五脏俱全”。 extjs如一个行动不便的美妇,其脚本太庞大,对象太丰富,并且不利于维护;ext.net如一个打扮得花枝招展的裹脚的妇女,其将extjs封装成服务器控件,虽然其维护起来不错,体验不错,使用方便,但是我不喜欢使用服务器控件的这种方式 ,也不喜欢其包了一层有一层的外壳,调起问题来从ASP.NET到EXT.NET到extjs;而easyui,则如一个清纯的少女,从外表即可窥探内心,清秀而不失美观。
<ext:Store ID="Store1" runat="server" AutoSave="true" ShowWarningOnFailure="false" OnBeforeStoreChanged="HandleChanges" SkipIdForNewRecords="false" RefreshAfterSaving=
="NBShop.UserControls.Form.ConfirmationForPayment" EnableViewState="true" %> <%@ Register Assembly="<em>Ext.Net</em> " Namespace="<em>Ext.Net</em>" TagPrefix="ext" %> <ext:ResourceManager ID="ResourceManager1" runat="server" /> CodeTemplate Language="C#" TargetLanguage="Html" Debug="True" CompilerVersion="v3.5" Description="根据XML生成Ext.NET <%=ClassName%>" EnableViewState="true" %> <%%@ Register Assembly="<em>Ext.Net</em>" Namespace="<em>Ext.Net</em>" TagPrefix
其实这个树控件也挺好用的。http://www.ztree.me/v3/main.php#_zTreeInfo
using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using Ext.Net LWQ --%> <%@ CodeTemplate Language="C#" TargetLanguage="C#" ResponseEncoding="UTF-8" Description="生成<em>Ext.NET</em> using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using <em>Ext.Net</em>