壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2223|回复: 6

四班: 利用后台数据验证前台操作的有效性开发指引

[复制链接]
发表于 2012/3/16 21:46:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 FrankXu 于 2012/3/16 21:59 编辑

以下资料供IT开发人员参考, 开发者必须熟悉任意一门的Web开发( 如C#,VB.Net)和Javascript以及数据库查询操作
至于如何在FS页面写事件, 请参考我的另一个贴子: FS集成开发

1. 利用javascript访问页面控件
      var n=document.FSWebUI.elements.length;
     //通过以下方式快速找到想要的控件的,而不用管光标移到第几行, 可以弥补fsGetFieldValue()/fsSetFieldValue()的不足之处
    //此方法尤其适用于IMTR/ITMB/BILL/PICK/SHIP/POMT/MOMT/COMT... 等有明细表格的屏幕
     for (var i=0;i<n;i++){
         //显示第i个控件的值,如果n动态变化时,可通过获取name的前几个字符判断是否是自已需要的控件
         alert( "Index " + i + ":  "  +  document.FSWebUI.elements.name + "   = "+ document.FSWebUI.elements.value);
         //将字段设为只读
         document.FSWebUI.elements.blur();  
         document.FSWebUI.elements.readOnly = true;
    }

2. 利用Msxml2.XMLHTTP与后台交互(以下是Javascript)
var xhr=null;   //该变量定义放在函数之外

function Fun_Test(.....)  //事件处理函数,如失去输入焦点时或提交表单时,函数名由用户自定义,也可以集中放在user.js文件中
{
     try{ xhr= new ActiveXObject("Msxml2.XMLHTTP");}
    catch (e)  {
        try { xhr= new ActiveXObject("Microsoft.XMLHTTP");}
        catch (e2) { xhr = null; }
      }
     if ( xhr==null && typeof XMLHttpRequest != 'undefined') {xhr= new XMLHttpRequest();}
     if(xhr==null){ alert("Create XMLHttp Failed"); return; }

      xhr.onreadystatechange=function (){
          if(xhr.readyState ==4){
              if(xhr.status==200){
                  var ret=xhr.responseText;  //获取后台查询结果的返回值
                        //根据返回值进行操作判断
                  if (ret==null ){                 //你的操作处理,如
                        alert("查询出错,请联系管理员");
                 } else (ret=="某值时"){
                      //document.FSWebUI.submit();  如OK时提交表单
                      // document.FSWebUI.elements.value="设定新值";  //设置新值
                     // alert("当前操作不允许: .......");  return false; //提示错语信息并阻止用户继续操作
                }
            } else
                 alert("status=" + xhr.status);
         }
     }
     //调用后台程序(可以是aspx, jsp,asp等Web页面)
     //例如:  var sURL=".../fsquery.aspx?Type=1&tval=" + szItem ;
     var sURL=".../你的Web页面.aspx?参数名1=值1&参数名2=值2...";
     xhr.open("GET",sURL);
     xhr.send(null);
}


3. Web页面的开发要求,如C# (fsquery.aspx)
    a. Web页面不要放置任何控件
    b.  所有查询在Page_load()中完成,并利用Response.Write()返回值给前台的Javascript;
    protected void Page_Load(object sender, EventArgs e)
    {
         string szValue1=Request["参数1"];
        string szValue2=Request["参数2"];
        ......................
        ......根据值进行查询.....

        Response.Write("你的返回值");
        Response.End();
        return;
    }



发表于 2012/3/19 19:18:10 | 显示全部楼层
徐生一来就给大家带来好东东了,谢谢徐生!!
发表于 2012/3/22 09:51:51 | 显示全部楼层
楼猪,你的C#开发到什么程度了
发表于 2012/3/22 09:52:53 | 显示全部楼层
还有数据库的存储过程你都懂 什么意思吗,可以在.NET中直接引用吗
发表于 2012/3/28 11:06:36 | 显示全部楼层
{:soso_e163:}
发表于 2012/11/21 23:36:34 | 显示全部楼层
话说,这个是四班的接口吗,能再详细介绍吗,我都是自己写的
 楼主| 发表于 2012/11/23 20:27:52 | 显示全部楼层
四班本身WebUI的定制功能很差,这个不是四班标准接口,是我自已摸索出来的.

有一定JavaScript、C#和四班基础就可以根据自已的目的进行定制开发了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/29 09:50 , Processed in 0.013867 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表