用了FineUI有一段时间了,还是分享下我咋改的吧,没想的那么难,我也是从小白来的。

基础是要懂JQ和EXTJS,主要是要懂JQ和EXTJS能干啥,这里有两个网站
1. 都烂大街了,JQ的肯定要看一遍,核心的是JQ选择器和事件,动画啥的感兴趣的可以都研究,JQ能通过各种样式、ID、属性获得元素,元素包括各种控件还可以找到子控件,只要是HTML上的没有找不到的;事件,用户操作触发的就是事件,各种事件的交织让HTML不死,比如点击,双击,获得焦点,值改变等;除此之外JQ还可以重写HTML,属性,样式,得到了就能改。
2.EXTJS基于JQ,还有API,写了一个一个的类,包成控件,一个新的实例就是一个控件,事件及属性API上都有,都能找到,FineUI也基于EXTJS看起来就方便了。
FineUI官方的实例里没有js,既然基于EXTJS怎么没有JS呢,JS都写在FineUI.dll里了,底层是extjs.js,只要创建实例就可以了,这就要用到asp.net的生命周期的一部分,也很好理解,就是在也没显示之前干了一件事,把页面上写的FineUI控件转成EXTJS再由extjs.js进行渲染显示页面,当然渲染要涉及css和图片,渲染的意思就是变成了HTML代码,DIV加CSS,所以HTML基础肯定要有。
3.FineUI的api其实不想写的,这个不看就不要用了,各种属性事件都不知道干啥的,怎么用,实在看不懂就把属性加上再删除看看有什么区别。
4.doc里三石写的有点老了,捡能看的看,拉到最后有我的博客目录
见图:
 
 
这个图不是第一次截了,在页面上的没有页面都有,比如我的页面上有个取消按钮:
 
OK,我看见了什么,Button生成的extjs格式是个啥样的,显示的文字就是text属性,事件写在了handler里,我写的是点击事件showhide那么handler就是点击事件的意思,
这个图不知道是哪的我就白写了;我还看见了所有的控件都在 F.ready(function () {,里写的,我搜了下项目,在grid_checkboxfield_rowcheckall_clientside里找到了F.ready(function () {
分析下,'<%= btnSelectRows.ClientID %>'ASP.NET的独特写法,获取控件的ID是HTML的ID,就像上图的Button2,生成的ID是Grid1_Button2,on('click')是绑定单击事件,那么F(selectRowsID)就是通过ID获得对象,这里就叫对象吧。后面的就是方法,匿名函数,就是没名,我也是蹭课才知道的。一看见$就是JQ用的,选择器,.开头的就是class名 img是标签又一个类名,得到元素后再方法XXX,恩,这个页面不运行也知道干嘛的,checked是选择的意思,这个页是控制grid行里checkbox的选择状态的,都是单词,简单。这说明啥,官方的例子也有用js控制的功能,而且很方便,比后台再回发快多了(有的功能没必要回发)。
今天晚了,明天我会再发一个表单通过js添加元素的例子,大家一起学习。
 
 
 

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

  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. 《JavaScript dom 编程艺术》 placeholder占位符IE8兼容办法。

    在<JavaScript dom 编程艺术>第11章学来的. 相对于用JavaScript替换文本框的提示语句 <!DOCTYPE html> <html lang=&q ...

  2. underscorejs-map学习

    2.2 map 2.2.1 语法: _.map(list, iteratee, [context]) 2.2.2 说明: 对集合的每个成员依次进行某种操作,将返回的值依次存入一个新的数组.接收3个参数 ...

  3. c# sqlserver备份还原(转)

    WinForm c# 备份 还原 数据库 其实是个非常简单的问题,一个Form,一个Button,一个OpenFileDialog,一个SaveFileDialog.下面给出备份与还原类 using ...

  4. twisted(1)--何为异步

    早就想写一篇文章,整体介绍python的2个异步库,twisted和tornado.我们在开发python的tcpserver时候,通常只会用3个库,twisted.tornado和gevent,其中 ...

  5. Rotate List 面试题

    今天做了leetcode的Rotate List,刚开始头脑不清楚,写的乱七八糟的,后来改了下,提交了,能过,把代码贴出来. 做题的时候头脑要清楚,我刚开始做完的时候才发现我把向左向右移动弄反了,后来 ...

  6. DNS解析原理

    1.在浏览器中输入www.qq.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析. 2.如果hosts里没有这个域名的映射,则 ...

  7. 透明与Z序示例

    import QtQuick 2.4 import QtQuick.Controls 1.4 import QtQuick.Controls.Styles 1.4 import QtQuick.Win ...

  8. 配置Session变量的生命周期

    在Web.config文件中配置Session变量的生命周期是在<sessionState></sessionState>节中完成的,在配置Session的生命周期时,可以设置 ...

  9. 使用GDB生成coredump文件【转载】

    本文转载自: http://blog.csdn.net/sky_qing/article/details/8548989 如果在测试过程中遇到某个进程的CPU利用率过高或者卡死而需要去调试该进程时,可 ...

  10. Scala 编程(四)内建控制结构

    if 表达式 Scala 的 if 如同许多其它语言中的一样工作.它测试一个状态并据其是否为真,执行两个分支中的一个: var filename = "default.txt" i ...