BPM中字段查重,C#Ajac调用示例
BPM中字段查重记录:
这也算是一个C#调用Ajax的示例吧,如果是异步加载的话async: false去掉就可以了。
需求:比如现在要录入一些信息,但是,有一个字段不能重复,BPM表都是自己生成的,所以我们需要自己在保存的时候进行验证。在保存的时候获取到要判断的字段查看是不是复核要求,数据库有没有当前字段,如果有的话,就提示错误信息,让用户重新输入。
建好表单之后,只需增加JavaScript代码:
<script type="text/javascript">
$.MvcSheet.Ready(function () {
$("input[data-datafield='cardNumber']").change(function () {
setTimeout(function () {
ClearerrorMessagecardNumber();
}, 1000);
});
}); $.MvcSheet.Validate = function () {
if ($.MvcSheetUI.SheetInfo.ActivityCode == "Activity2") {
if (this.Action == "Submit") {
var result = true;
result = CheckCardNumber();
return result;
}
}
}
function CheckCardNumber() {
var varcardnumber = $.MvcSheetUI.GetControlValue("cardNumber");
ClearerrorMessagecardNumber();
var result = true;
var ajaxUrl = "/portal/Ajax/CardNumberRepeatHandler.ashx";
$.ajax({
async: false,
type: "post",
url: ajaxUrl,
data: { "cardNumber": varcardnumber, "ObjectID": $.MvcSheetUI.SheetInfo.BizObjectID },
success: function (e) {
if (e == "0") {
var spanhtml = "<label id=\"errorMessagecardNumber\" class=\"InvalidText\">";
var html = "";
html += "证件号码重复";
spanhtml += html + "</label>";
$("input[data-datafield='cardNumber']").removeClass("inputMouseEnter");
$("input[data-datafield='cardNumber']").addClass("inputError inputMouseOut")
$("input[data-datafield='cardNumber']").after(spanhtml);
console.log("12212");
result = false;
}
}
});
return result;
} function ClearerrorMessagecardNumber() {
if ($("#errorMessagecardNumber").length >= 1) {
$("#errorMessagecardNumber").remove();
$("input[data-datafield='cardNumber']").removeClass("inputError inputMouseOut");
$("input[data-datafield='cardNumber']").addClass("inputMouseEnter");
}
}
</script>
这里是调用Ajax强制同步完成的,不然的话程序会先进行了保存,然后才会提示错误,这样达不到需求的效果,那么,Ajax代码是这样的:
<%@ WebHandler Language="C#" Class="OThinker.H3.Portal.Ajax.CardNumberRepeatHandler" %> using System;
using System.Web;
using OThinker.H3.BizBus;
using System.Data;
using System.Collections.Generic;
using System.IO;
using OThinker.H3.Apps;
using System.Linq;
using OThinker.H3.WorkflowTemplate;
using OThinker.H3.Acl;
using System.Text; namespace OThinker.H3.Portal.Ajax
{
public class CardNumberRepeatHandler : HttpHandlerBase
{ public override void DoAction(HttpContext context)
{
context.Response.ContentType = "text/plain";
string strobjectid = this.Request.Form["ObjectID"] ?? "";
string strcardnumber = this.Request.Form["cardNumber"] ?? ""; string result = string.Empty; if (!string.IsNullOrWhiteSpace(strobjectid))
{
string strsql = "select 1 from I_isRepeat where objectid!='" + strobjectid + "' and cardNumber='" + strcardnumber + "'";
DataTable dt = OThinker.H3.WorkSheet.AppUtility.Engine.EngineConfig.CommandFactory.CreateCommand().ExecuteDataTable(strsql); if (dt!=null && dt.Rows.Count>)
{
result = "";
}
else
{
result = "";
}
}
context.Response.Clear();
context.Response.Write(result);
context.Response.End();
} }
}
BPM中字段查重,C#Ajac调用示例的更多相关文章
- Javascript中数组查重的方法总结大全
数组查重:简单点说,就是找出数组中重复的元素然后去除,最后得到一个没有重复元素的数组. // 方法一思路: 1.构建一个新的数组,用于存放结果. 2.for循环中每次从数组取出一个 ...
- Oracle如何用单字段或多字段进行查重
最近在整理数据形成信用报告,发现重复的数据真的多,梳理都好久.我就做个笔记把去掉重复数据的方法整理下来.方便我后期查阅. 我将我目前已知的两种去重方法分为:视图去重和表去重.原理就是有无rowid这个 ...
- 在PHP项目中使用Standford Moss代码查重系统
Standford Moss 系统是斯坦福大学大名鼎鼎的代码查重系统,它可以查出哪些同学提交的代码是抄袭别人的,从而将提交结果拒之门外.它对一切希望使用该系统的人都是开放的,那么在PHP的项目中如何使 ...
- 【实习记】2014-09-01从复杂到简单:一行命令区间查重+长整型在awk中的bug
9月1号,导出sql文件后,想到了awk,但很复杂.想到了用sed前期处理+python排序比较的区间查重法.编写加调试用了约3小时. 9月2号,编写C代码的sql语句过程中,发现排序可以交m ...
- 一、数据库表中字段的增删改查,二、路由基础.三、有名无名分组.四、多app共存的路由分配.五、多app共存时模板冲突问题.六、创建app流程.七、路由分发.八、路由别名,九、名称空间.十、反向解析.十一、2.x新特性.十二、自定义转换器
一.数据库表中字段的增删改查 ''' 直接在modules中对字段进行增删改查 然后在tools下点击Run manage.py Task执行makemigrations和migrate 注意在执行字 ...
- MySql语句中select可以嵌套么,字段的重命名可以用中文么
今天文档中看到的查询语句,SELECT后面又跟了一个SELECT嵌套,而且把字段重命名为中文,请问可以这样做么 MySql语句中select可以嵌套么,字段的重命名可以用中文么 >> my ...
- 【NLP】Python实例:申报项目查重系统设计与实现
Python实例:申报项目查重系统设计与实现 作者:白宁超 2017年5月18日17:51:37 摘要:关于查重系统很多人并不陌生,无论本科还是硕博毕业都不可避免涉及论文查重问题,这也对学术不正之风起 ...
- 【NLP】Python实例:基于文本相似度对申报项目进行查重设计
Python实例:申报项目查重系统设计与实现 作者:白宁超 2017年5月18日17:51:37 摘要:关于查重系统很多人并不陌生,无论本科还是硕博毕业都不可避免涉及论文查重问题,这也对学术不正之风起 ...
- KO ------- 表中字段名和实体类属性名不一致
-----------------------siwuxie095 KO ------- 表中字段名和实体类属性名不一致 如果数据库表中的字段名和实体类的属性名不一致,那么在查询时, 相应字段的结果就 ...
随机推荐
- C++版的LLC代码
图像稀疏编码总结:LLC和SCSPM,文章对稀疏编码讲解非常详细. <Locality-constrained Linear Coding for Image Classification> ...
- js判断数组中是否包含某个值
/** * 判断数组中是否包含某个值 * @param arr 数组 * @param str 值 * @returns {boolean} */ function contains(arr, str ...
- PHP stream_socket_server
stream_socket_server - 创建一个Internet或Unix域服务器套接字 描述 资源stream_socket_server(字符串local_socket [摘要和错误号[,串 ...
- 理解Linux CPU负载和 CPU使用率
CPU负载和 CPU使用率 这两个从一定程度上都可以反映一台机器的繁忙程度. cpu使用率反映的是当前cpu的繁忙程度,忽高忽低的原因在于占用cpu处理时间的进程可能处于io等待状态但却还未释放进入w ...
- 关于js开发中保留小数位计算函数(以向上取整或向下取整的方式保留小数)
前端工作中经常遇到数字计算保留小数问题,由于不是四舍五入的方式不能使用toFixed函数,本文采用正则表达式匹配字符串的方式,解决对数字的向上或向下保留小数问题: 1.向上保留小数(只要目标小数位后有 ...
- 类的定义与实例化、构造函数和初始化表(day04)
十三 类的定义与实例化 类的一般形式 class/struct 类名:继承表{ 访问控制限定符: 类名(形参表):初始化表{}//构造函数 ~类名(void){}//析构函数 返回类型 函数名(形参表 ...
- 51nod1134 最长递增子序列【动态规划】
给出长度为N的数组,找出这个数组的最长递增子序列.(递增子序列是指,子序列的元素是递增的) 例如:5 1 6 8 2 4 5 10,最长递增子序列是1 2 4 5 10. Input 第1行:1个数N ...
- canvas实现圆框图片
作者:issac_宝华链接:http://www.jianshu.com/p/9a6ee2648d6f來源:简书 在html中做圆框图片很容易,只需要简单的 border-radius: 50%; 当 ...
- JavaScript对接百度地图api实现地图标点功能
粗略的做了个地图标点功能 首先,去百度注册开发者账号,然后进入到百度地图开放平台 进入到控制台, 创建浏览器端应用,给个安全域名 然后去开发者文档JavaScript里面找地图展示文档,直接怼上去就行 ...
- HDU - 3040 - Happy Girls
先上题目: Happy Girls Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...