引用<回谈OPS概念的问题>
这几天听朋友问我,OPS到底有什么作,好像也没什么作用吗?
我想,是时候整理一下最近写的1-x系列的介绍了。我也希望,这篇介绍,它能让朋友们了明白OPS有什么作用。
在以往的介绍当中,我强调过.OPS有点像表单的格式机,可以把页面的表表单数据整理成一个XML字符串;
在2-x系统的文档里,已经介绍了很多的JS操控表单数据的示例;这边为了说明OPS的作用.我写一段伙代码:
<html>
<head>
<script>
var ajax = new AjaxService(); //该对象,专为数据的存储服务;
var ps = new PsContainer();
//
//通过ajax 进行数据保存
//
function save1()
{
var opsData = ps.toXml();
ajax.Save(opsData);
}
//
//通过ajax 来进行数据装载
//
function load1()
{
var opsData = ajax.Load().value;
ps.load(opsData);
}
/*-----------------------------------------------------------*/
//
//通过一个hidden控件 在 asp.net 页面里,把opsXml数据提交到后台;
//
function save2()
{
$("ops_hid").value = ps.toXml();
}
function load2()
{
ps.load($(ops_hid).value);
}
/*
//
//如果是asp.net 则在WINDOW LOAD里把处理绑定上去;
//
window.onload = load2;
*/
</script>
</head>
<body>
<form action="p.aspx" moth="post">
<input id="text001" />
<!=- 为了突显示OPS的意义,假设这个页面上有100个输入框 -->
<input id="text100" />
<input name="ops_hid" type="hidden" id="ops_hid" runat="server"
ops:psundo="1"
ops:note="该控件为前后台数据交素的桥梁" />
<input type="button" value=" 保存1 " onclick="save1();" />
<input type="button" value=" 保存2 " onclick="save2();" id="button" runat="server" />
<input type="button" value=" 装载1 " onclick="load1();" />
</form>
</body>
</html>
后台 AjaxService:
public class AjaxService
{
public void Save(string opsXml)
{
string sql = "INSERT INTO t(data) value('"+opsXml+"')";
SqlRun.Exec(sql);
}
public string load()
{
return SqlRun.Exec("select top 1 data from t").ToString();
}
}
DataBase:
T{id [int ,index], data[text]}
ASP.NET 在页面的后台代码,这边就不给出了.请参考这个ASP.NET项目的DEMO;
现在,归纳一下.OPS在这个示例里的作用。
首先,它的的确确起到了一个格式机的作用。ps.toXml(),这个方法把整个页面的数据进行了格式化;
这个是它本身的作用。以这个作用为基古,引申开来的意义,就是相当的广。
1。减化了数据库设计;
2。大最减少了业务层跟数据层操作的代码;
3。跟AJAX可实现实美的协作;
以上,三点,是从这个示例里体出来。
当然在这个示例里,细心的朋友也会发现,那这些数据,我要统计或查询的时候怎么样?
本身一个OPS 脚本库,并不是一个框架。整个OPS框架里,主要有三个元素:
1。OPS 脚本库
2。OPS 后台支持库(目前有。NET版本,很希望有志愿者加入开发JAVA版本的)
3。OPS 工具
同时,为了更好的支持OPS 应用。我还专门开发了一个全面支持OPS的O/RM工具
在OPS 作用方面的介绍,请关注“2-x”系经里的脚本库应用示列,以及10-x系列的关于在ASP。NET在应用。
在10-x系统里,将大量介绍OPS 后台支持库与工具的应用。来实现完美的快速开发;
浙公网安备 33010602011771号