转自:http://blog.csdn.net/wlccomeon/article/details/17270427

一、前台调用后台

 
        前台调用后台的方法一共可分为两大类:使用Html控件和使用Asp控件。

1、Asp控件

      非常方便,方便到让你吃惊!比如前台放上一个LinkButton,直接双击就可以进入到后台,然后轻松编写自己需要的代码!
    例如在前台添加一个服务器控件Button

  1. <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
双击,进入后台,可添加自己的代码,这里举一个简单的:

  1. protected void Button1_Click(object sender, EventArgs e)
  2. {
  3. Response.Write("服务器控件!");
  4. }

2、html控件

        但是,Asp控件属于服务器控件,比较耗费资源,同时它的灵活性和兼容性相对于Html控件来说却又有所不及。所以,在所做的项目中大量的使用了Html控件,而html控件除了添加runat="server"的方法(见控件的显示隐藏方法:http://blog.csdn.net/wlccomeon/article/details/16995481)能够实现与后台的打交道的方式之外,还有两种间接的方法:使用Ajax和提交表单,这里就都需要用到JavaScript的相关知识了,下面一一举例:

①提交表单

首先在表单中添加一个html控件或者仅仅一个a标签:

  1. <form id="login">
  2. <a href="#" id="strLogin" name="strLogin" onclick="checkInfo()">登录</a>
  3. </form>
  4. 然后,添加Js函数来提交表单:
  5. //登陆,提交表单
  6. function Login() {
  7. var form = document.forms["login"];    //获取要提交的表单的id
  8. form.action = "default.aspx";                 //刷新的目标页面
  9. form.method = "post";                           //form.method的默认数据提交方法是get,适用于服务器控件
  10. form.submit();                                         //提交
  11. }
运行之后,点击“登陆”a标签,即可对default进行刷新,从而运行后台代码。需要注意的是,这种方法想要触发的后台代码必须写在Page_Load里。

②使用Ajax

首先添加一个a标签:

  1. <a href="#" onclick="loginQuit()">退出</a>

编写JS代码

  1. //退出登录
  2. function loginQuit() {
  3. $.ajax({
  4. type: "Post",
  5. url: "Exit.ashx",               //退出的一般处理程序
  6. onSubmit: function () {
  7. },
  8. //判断结果是否正确
  9. success: function (result) {
  10. if (result == "T") {
  11. //隐藏登陆后,显示登陆前
  12. document.getElementById("loginAfter").style.display = "none";//隐藏
  13. document.getElementById("loginBefore").style.display = "block";//显示
  14. ////清空用户输入记录
  15. document.getElementById("UserName").value = "";
  16. document.getElementById("txtCode").value = "";
  17. document.getElementById("Password").value = "";
  18. }
  19. else {
  20. alert('退出失败!')
  21. }
  22. }
  23. });
  24. }

新建一个一般处理程序Exit.ashx,添加代码:

  1. public void ProcessRequest(HttpContext context)
  2. {
  3. context.Session["UserName"]=null;
  4. context.Session["UserID"] = null;
  5. context.Response.ContentType = "text/plain";
  6. context.Response.Write("T");
  7. }

后台代码就可以根据Session是否存在来进行自己的相关操作了。

二、后台调用前台

后台调用前台的方法有则有很多,目前我用到的大致有两种:

1、使用Response.Write方法

      该方法只能调用js内部自带的函数:
  1. Response.Write("<script type='text/javascript'>alert('成功!');</script>");

如果在后台经常需要用到这个JS函数的话,可以抽象出为一个类(本例为 jumpFrame),在类中添加方法:

  1. public static void AlertBox(string errMsg)
  2. {
  3. StringBuilder sb = new StringBuilder();
  4. sb.Append("<script language=\"javascript\"> \n");
  5. sb.Append("alert(\"" + errMsg.Trim() + "\"); \n");
  6. //sb.Append("window.location='test.aspx';\n");
  7. sb.Append("</script>");
  8. System.Web.HttpContext.Current.Response.Write(sb.ToString());
  9. }

调用:

  1. protected void Button1_Click(object sender, EventArgs e)
  2. {
  3. jumpFrame.AlertBox("成功!");
  4. }

2、用ClientScript类动态添加脚本

这个方法可以使用JS自定义函数,用法如下:在想调用某个Javascript脚本函数的地方添加代码,注意要保证MyFun已经在脚本文件中定义过了。

  1. ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script>MyFun();</script>");

这些个方法从探索到实践到解决其中出现的各种问题到最后能够成功运用于所在的项目,费了很大很大的精力。在这次历练中对于没有接触到的知识能够简单的运用是一个非常好的学习过程,而对于已经看过相关的视频如新闻发布系统和北大青鸟课程则是一个很好的回顾的过程。学而不用,久而久之就会生疏甚至遗忘;而用中学则比单纯的看视频跟着敲代码掌握的更牢、体会的更深。最后,如果大家有更好的方法或者我在上面的运用有什么不妥的地方还请各位不吝指教!

Asp.Net 前后台交互小结的更多相关文章

  1. ASP.NET前后台交互之JSON数据

    最近由于项目需要做一个Ajax的搜集单表单的多重数据的需求,所以就采用了前端JQuery保存Object对象之后转换成JSON的数据源传递给后台处理的这样的形式,相信有不少人大多时候是接收后台给出的J ...

  2. asp.net 前后台交互

    转自:http://www.cnblogs.com/softpower/archive/2010/11/16/1878769.html 1.如何在JavaScript访问C#函数? 2.如何在Java ...

  3. Devexpress 使用经验 —— ASPxGridView前后台交互写法推荐

    这里的格式是仁者见仁智者见智,这篇随笔只是我在工作过程中总结出的阅读性高,对我来说效率较高的写法. ASPX: <dx:ASPxGridView ID="ASPxGridViewLin ...

  4. jquery ajax返回json数据进行前后台交互实例

    jquery ajax返回json数据进行前后台交互实例 利用jquery中的ajax提交数据然后由网站后台来根据我们提交的数据返回json格式的数据,下面我来演示一个实例. 先我们看演示代码 代码如 ...

  5. JAVA配置&注解方式搭建简单的SpringMVC前后台交互系统

    前面两篇文章介绍了 基于XML方式搭建SpringMVC前后台交互系统的方法,博文链接如下: http://www.cnblogs.com/hunterCecil/p/8252060.html htt ...

  6. ajax实现异步前后台交互,模拟百度搜索框智能提示

    1.什么是异步?在传统的网站项目中,填写一堆数据,最后点击提交,在点击提交的这一刻才实现数据提交,前后台交互.在你点击提交之前数据是没有提交到后台的.这样就会造成很大的不便.比如,我填了一大堆数据,结 ...

  7. 前后台交互经常使用的技术汇总(后台:Java技术,前台:Js或者Jquery)

    1:由于针对特定的前后台交互用到的知识总结,所以不大量贴代码,主要给出思路,方便自己以后脑补和技术总结,当然也希望可以帮助到别人. 后台Json和其他格式转化,之前总结过Json和对象,集合,字符串的 ...

  8. WebSocket前后台交互

    其实对于前后台交互有很多种方法(只列举我知道的,嘻嘻): 1:from 表单: 使用场景——小信息量提交给后台 2:ajax(跨域的话用jsonp): 可以进行多量的前后台信心传递: 但实时性不高,不 ...

  9. MySQL前后台交互登录系统设计

    1.首先我们做一个前台的注册页面 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"& ...

随机推荐

  1. JQuery的几种页面加载完执行三种方式

      jquery加载页面的方法(页面加载完成就执行) 1. $(function(){ $("#a").click(function(){ //adding your code h ...

  2. PHP学习笔记(七)

    <wordpress 50个过滤钩子> 11-20 11.gettext: 过滤wordpress的翻译数据. 在wordpress中,使用__(), _e(), _x(), _ex(), ...

  3. C语言——N个人围成一圈报数淘汰问题

    <一>问题描述: 有17个人围成一圈(编号为0-16),从第 0号的人开始从 1报数, 凡报到 3的倍数的人离开圈子,然后再数下去,直到最后只剩下一个人为止. 问此人原来的位置是多少号? ...

  4. git ignore已经checked in files

    对于untracked file, 可以使用.gitignore 对于已经checked in file,可以使用git update-index #隐藏 git update-index --ass ...

  5. tq --uboot使用

    - Nand Flash命令- nand info nand erase nand read[.jffs2] addr off size              .jffs代表ECC方式不同 nan ...

  6. CGDataCmd

    1,"Get Inf Joint from file" 选择文件中储存的骨骼信息; 2,"Export skinWeight"   导出权重;  3," ...

  7. C语言-04函数

    1.参数 参数注意点 1.形式参数:定义函数时函数名后面中的参数,简称形参 2.实际参数:调用函数式传入的具体数据,简称实参 3.实参个数必须等于形参个数 4.函数体内部不能定义和形参一样的变量 5. ...

  8. 2014年度辛星html教程夏季版第二节

    上面一节中我们介绍了HTML文件的书写和几个标签,接下来我们来认识几个其他的标签,这里我们主要介绍一下head标签和文本标签. ***************head标签*************** ...

  9. 【web安全】第一弹:利用xss注入获取cookie

    首先一定要先来吐槽一下tipask系统.这是一枚开源的类似百度知道的系统,但是漏洞多多,最基本的XSS注入都无法防御. 言归正传: [准备1] cookie接收服务器. 平时喜欢用sae,所以在sae ...

  10. php常用函数集

    网络请求: /** * 发起HTTPS请求 */ function curl_post($url,$data=null,$header=null,$post=0) { //初始化curl $ch = ...