我发起并创立了一个 Javascript 前端库 开源项目 jWebForm
在线演示地址:
( 在线演示 云平台 由 Kooboo 提供 https://www.kooboo.com/ )
按钮: http://iwebform.kgeking.kooboo.site/jWebForm-master/Button.htm
下拉: http://iwebform.kgeking.kooboo.site/jWebForm-master/DropDown.htm
下拉框: http://iwebform.kgeking.kooboo.site/jWebForm-master/DropDownList.htm
PictureBox: http://iwebform.kgeking.kooboo.site/jWebForm-master/PictureBox.htm
动态创建添加控件: http://iwebform.kgeking.kooboo.site/jWebForm-master/DynamicCreateControl.htm
下拉菜单: http://iwebform.kgeking.kooboo.site/jWebForm-master/DropMenu.htm
文本编辑器: http://iwebform.kgeking.kooboo.site/jWebForm-master/EditArea.htm
文本编辑器(自适应窗口大小): http://iwebform.kgeking.kooboo.site/jWebForm-master/EditArea_Fit_Window.htm
可拖拽对象: http://iwebform.kgeking.kooboo.site/jWebForm-master/DragObj.htm
可拖拽对话框: http://iwebform.kgeking.kooboo.site/jWebForm-master/DragDialog.htm
可拖拽 PictureBox: http://iwebform.kgeking.kooboo.site/jWebForm-master/DragPictureBox.htm
多窗口 MDI 模块化: http://iwebform.kgeking.kooboo.site/jWebForm-master/MultiWindow_MDI_Modulize/Main.html
复杂界面 通常 用 模块化 的 方式开发 。
PictureBoxFit (适应图片自身比例的 PictureBox): http://iwebform.kgeking.kooboo.site/jWebForm-master/PictureBoxFit.htm
DragPictureBoxFit (可拖拽 PictureBoxFit): http://iwebform.kgeking.kooboo.site/jWebForm-master/DragPictureBoxFit.htm
ContextMenu (右键菜单): http://iwebform.kgeking.kooboo.site/jWebForm-master/ContextMenu.htm
jWebForm 的 实际应用 还可参考 《我发起并创立了一个 EPWA 的 开源项目》 https://www.cnblogs.com/KSongKing/p/10745935.html 。
我发起并创立了一个 Javascript 前端库 开源项目 jWebForm 。
起因是我前几天写了一篇文章《.Net Core 没有 WebForm 是 历史 的 退步》
https://www.cnblogs.com/KSongKing/p/10293643.html,
然后有网友说, 现在都是 前端渲染 了,
然后想了一下, 觉得可以把 2 者 想法 结合 起来, 写一个 可以用 WebForm 控件 方式 在 Html 里 写控件 的 前端库, 这就是 jWebForm 。
项目地址 :
https://github.com/kelin-xycs/jWebForm
目前支持 按钮(Button), 下拉框(DropDownList), PictureBox(可以播放图片), 下拉菜单(DropMenu) 4 种 控件,
以及 动态 创建 控件 并 添加 到 Html Dom 中 。
项目里的文件如下 :
jWebForm.js, jWebForm.css 是 jWebForm 的 库文件, 引用 这 2 个 文件 就可以使用 jWebForm 。
Button.htm 是 按钮 的 示例, DropDownList.htm 是 下拉框 示例, PictureBox.htm 是 PictureBox 的 示例, DynamicCreateControl.htm 是 动态创建控件并添加到 Html Dom 的 示例 。
我们来看看代码 :
按钮 :
……
下拉框 :
……
看图中的 Page_Load, 和 WebForm 的 Page_Load 一样 。
PictureBox :
……
动态创建控件 并 添加到 Html Dom :
通过 Element() 属性(函数)返回 Control 最外层 的 Element,添加到 Html Dom 就可以了 。
下拉菜单(DropMenu) 是 后来新增的, 看 DropMenu.htm 示例 就可以 。
jWebForm 不打算提供 表格控件(比如像 Asp.net WebForm 里的 GridView 那样), 开发人员 可以自己写一个 Util 类 来 实现类似 GridView 的 数据绑定为表格 的 功能, 可以用 jWebForm 提供的 动态创建控件 的 方式 动态创建 jWebForm Control 并添加到 Html Dom 里, 这种方式 是 简单 直观 自由 透明 的 。
Html 的 <table /> 元素(table 对象) 是一个 简单 直观 易用 的 表格对象, 开发人员 自己写一个 Util 类 来 绑定数据 生成 table 对象 就可以 。
jWebForm 也不打算提供 布局控件, 开发人员 自己 用 Html + Css + Js 来 布局 是 简单 直观 自由 透明 的 。
jWebForm 的 特点 就是 几乎没有什么侵入性 。 可以和 Html + Css + Js 混合使用 。
这就是 “库”(Lib) 的 观念, 按需取用库, 即插即用, 即拔即无 。 而不像框架, 动不动先整个框架给你套起来 。
我之前还写过一个 Js 库 jlet , 也可以看看 : https://www.cnblogs.com/KSongKing/p/9455238.html 。
我发起并创立了一个 Javascript 前端库 开源项目 jWebForm的更多相关文章
- 我发起并创立了一个 C 语言编译器 开源项目 InnerC
本文是 VMBC / D# 项目 的 系列文章, 有关 VMBC / D# , 见 <我发起并创立了一个 VMBC 的 子项目 D#>(以下简称 <D#>) https: ...
- 我发起并创立了一个 EPWA 的 开源项目
EPWA , 是 Easy PWA 的 意思, PWA 取自于 Google 的 PWA, EPWA 是一个用 C# Cef Html js css 开发 桌面程序 的 架构 ...
- 我发起并创立了一个 VMBC 的 子项目 D#
大家好, 我发起并创立了一个 VMBC 的 子项目 D# . 有关 VMBC , 请参考 <我发起了一个 用 C 语言 作为 中间语言 的 编译器 项目 VMBC> https ...
- 准备开一个地图SDK的开源项目
最近有点空闲时间了, 准备开一个地图SDK的开源项目, 现在的地图SDK已经有很多了, 再做一个跟重新发明个轮子差不多, 但还想做的原因是想在别的轮子的基础上造个轮子... 初步设想是基于开源的地图渲 ...
- 一个P2P点播直播开源项目:P2PCenter
最近跟着公司的项目走,我也研究了不少东西,尤其是在P2P方面,广泛涉猎各种开源项目,尤其是国外的开源项目,意外的发现了一个国内的项目,做的还不错,推荐一下.---------------------使 ...
- 一个可能是世界上最全的 API 接口集合库开源项目
对于程序员来说,为自己的程序选择一些合适的API并不是那么简单,有时候还会把你搞得够呛,今天猿妹要和大家分享一个开源项目,这个项目汇集了各种开发的api,涵盖了音乐.新闻.书籍.日历等,无论你是从事W ...
- 一个基于 Vue3 的开源项目,3个月时间 star 终于破千!
本文主要是对如何做开源项目的一些思考. 前文回顾: <Vue3 来了,Vue3 开源商城项目重构计划正式启动!> <一个基于 Vue 3 + Vant 3 的开源商城项目> 关 ...
- 我发起并创立了一个 .Net 平台上的 Web 业务系统 基础库 开源项目 WebEasy
我 强调一点, 程序员 应该对 程序 有 控制感 . 过多的 控制反转 使 程序员 丧失了 对 程序 的 控制感 . 过多的 依赖注入 束缚了 程序员 的 创造力 . 过度复杂的 架构设计 束缚了 程 ...
- 实现一个javascript手势库 -- base-gesture.js
现在移动端这么普及呢,我们在手机上可以操作更多了.对于网页来说实现一些丰富的操作感觉也是非常有必要的,对吧(如果你仅仅需要click,,那就当我没说咯...)~~比如实现上下,左右滑动,点击之类的,加 ...
随机推荐
- maven快速自动更新子模块项目的版本号
当一个版本发布,新起一个版本时,我们需要更改一下项目中的版本号.一个maven工程,如果只是一个单一的主项目,那么只要手动修改一下 pom.xml 就 可以了,耗不了多少时间.但是如果这个maven项 ...
- nodejs03-GET数据处理
数据请求:--- 前台:form ajax jsonp 后台:一样 请求方式: 1.GET 数据在URL中 2.POST 数据在请求体中 请求数据组成: 头--header:url,头信息 身子--c ...
- BluePrism初尝2
在接近三周的自学中,初步体验到了RPA的甜头. 在对BP这个工具慢慢的深入接触中,从0 到1的探索式学习,从最开始的一个个的小功能模块的用途,每一个的属性的功能,到现在自己能初步尝试组织一些简单的流程 ...
- MySQL免编译二进制包安装简记
相比较于MySQL的源代码安装来说.免编译二进制包的速度实在是快了太多,而且性能损失也不是很大,同时具有一定的定制性.所以,如果没有特殊的 需求,尽量用MySQL免编译二进制包来安装MySQL. 1. ...
- eclipse调试远程tomcat
1.设置tomcat远程调试端口 catalina.sh export JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,susp ...
- require和load的不同之处
require和load最大的不同之处在于,require就算调用多次也不会重新加载已经加载过的文件.Ruby会持续追踪已经被请求的那些文件而不会重复加载它们.而load命令总是会加载所请求的命令,不 ...
- vue数据修改 但未渲染页面
1. 普通的 `1.1 this.$set('obj',key,value); 1.2 this.splice(); 2.数据层次太多,没有触发render函数进行自动更新,需手动调用: this.$ ...
- 安装oracle11g client 【INS-30131】执行安装程序验证所需的初始设置失败的解决方法
今天在服务器(操作系统windows server 2008R2)上安装Oracle11g 客户端,弹出“执行安装程序验证所需的初始设置失败”,如上图.网上找了一些方法,简单整理如下,仅供参考. 问题 ...
- C# 事件 解析
1.什么是事件,事件和委托什么关系? 事件?事件,就是,比如按一个按钮,弹出你好对话框,就是一个事件. 事件和委托? 事件就是委托的一种呀,委托可以理解为回调机制,回调函数. 2. 怎么理解C#事件, ...
- Labview学习笔记-条件结构的两个问题
数组:“创建数组控件“用于连接数组 输入端:数组+元素 或数组+数组 右键创建数组控件 在连接数组项上打钩或取消,改变连接的数组维度 簇:就是C语言中的结构体 簇和数组的转换 必须保证各元素数据类型一 ...