博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何给asp.net表单提交前置和后置函数
阅读量:3520 次
发布时间:2019-05-20

本文共 1520 字,大约阅读时间需要 5 分钟。

1 场景

Asp.net开发过程中,表单提交操作是最常用的一个动作。

(1)如果我们在表单提交前能有一个对表单项进行验证的前置动作,那么就可以减少错误提交的次数(验证提交数据是否合法,如果不合法就不提交)。

(2)如果我们在表单提交完成后在前端能触发一个回调函数,那么我们就可以对表单提交后,在服务器端的执行结果进行验证。

 

 

2 总结

(1)添加前置函数

   最简单的添加方式:给form挂接 onsubmit方法。

   <form id="form1" runat="server" onsubmit="return validateForm()">

  注:添加的onsubmit方法必须有返回值“true”或“false”,在表单提交前,会先执行“validateForm()”方法,如果此方法返回值为true,那么表单正常提交,如果此方法返回值为false,那么表单停止提交。

  表单提交前的验证操作,我们就可以写在validateForm()方法里,验证通过返回true,正常提交。验证不通过,返回false,停止提交。

(2)添加回调函数

  也提供最简单的方法:在服务器端通过“ClientScript”类对象提供的静态方法,给表单添加回调函数。

protected void ModifyLink_Click(object sender, EventArgse)

   {

        Tel400Entitytel400 = new Tel400Entity()

       { Id=txt400TelId.Text,

           Tel400 = txt400Tel.Text,

           FixTel = txtFixTel.Text,

           Remark = txtRemark.Text,

           Flag = NumberFlag.SelectedValue

       };

       boolisOk=  Tel400BLL.Update(tel400);

      ClientScript.RegisterStartupScript(this.GetType(), "ModifyJs","<script>ModifyIsOK('" +isOk.ToString() + "');</script>");

   }

上述函数为

 <asp:LinkButton ID="btn_modify" runat="server" class="easyui-linkbutton" OnClick="ModifyLink_Click">修T改?</asp:LinkButton>富客户端控件的后台事件代码。

在ClientScript.RegisterStartupScript函数中,我们把客户端js函数"ModifyIsOk(obj)"设计成了控件click事件在前段的回调函数。

  <script type="text/javascript">

        ///修改操作表单提交后的回调函数。

        functionModifyIsOK(obj) {

            switch (obj) {

                case 'True':

                    break;

                default:

                   alert("修改失败已经存在对应的短号");

                    break;

           }

       }

  </script>

特别强调:ClientScript.RegisterStartupScript函数添加的调用脚本在表单的最后(</form>前面),适合在页面加载完成后执行Js代码,"ModifyIsOK()"函数最好添加在表单控件之前,如果加载。

也可以使用ClientScript.RegisterClientScriptBlock添加回调函数,此函数会将调用脚本添加在(<form>后面),适用在页面加载控件之前执行。

转载地址:http://jotqj.baihongyu.com/

你可能感兴趣的文章
SQL 约束(二)
查看>>
SQL ALTER用法(三)
查看>>
SQL where子句及查询条件语句(六)
查看>>
SQL 连接JOIN(九)
查看>>
linux VM虚拟机可以ping通主机,但主机无法ping通虚拟机
查看>>
linux 错误码
查看>>
C++ 中Struct与typedef struct总结
查看>>
WNetAddConnection2调用失败,错误码1200/1312
查看>>
POI读写Excel的基本使用
查看>>
淘宝网站的架构演进
查看>>
设置zookeeper开机自启动流程
查看>>
CentOS安装mysql5.7的教详细流程
查看>>
项目整合微信扫码登录功能
查看>>
分布式文件系统FastDfs的搭建
查看>>
Springboot项目利用Java客户端调用FastDFS
查看>>
全文检索工具elasticsearch的安装和简单介绍
查看>>
利用Kibana学习全文检索工具elasticsearch
查看>>
SpringBoot在Test测试类或自定义类中通过@Autowired注入为null
查看>>
使用docker搭建YAPI服务
查看>>
西南科技大学OJ题 邻接表到邻接矩阵1056
查看>>