转自: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. CentOS 7 安装 Apache PHP MariaDB

    准备篇: 一.配置防火墙,开启80端口.3306端口 CentOS 7 默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl sto ...

  2. iOS 高级开发 runtime(三)

    三 .动态添加方法 我们可以通过runtime动态地添加方法.那么到底啥叫动态添加方法呢?动态添加方法就是当我们程序运行时才知道我们应该调用哪个方法.我们首先需要了解这一点,当我们编写完一段代码后,我 ...

  3. struts2标签学习笔记(一)

    struts2所有标签都定义在一个s标签库里.虽然struts2把所有的标签都定义在URI为"/struts-tags"空间下,但依然可以对struts2标签进行简单的分类. 1. ...

  4. java新手笔记8 包

    1.main函数 public class MainParam { //考察main 方法的参数 args //运行时可以传入参数 参数类型 String public static void mai ...

  5. WebRTC 音视频开发之路

    早在2014年就通过WebRTC实现了PC客户端的实时视频语音,那时P2P连接的建立使用的WebRTC自带的libjingle库,使用peerconnection的API实现的.后来在做远程桌面,文件 ...

  6. OpenJudge/Poj 1631 Bridging signals

    1.链接地址: http://poj.org/problem?id=1631 http://bailian.openjudge.cn/practice/1631 2.题目: Bridging sign ...

  7. JavaScript之Chart.js图例(legend)

    #html <div id="chart_line_legend" class="chart-legend"></div> <ca ...

  8. DOS命令中出现空格问题

    1.DOS命令中路径出现空格时如何处理? 在DOS命令中,如果路径中出现空格,可能为报错:如参数错误 如:  xcopy C:\ABC CD\txt.txt C:\ ,   由于路径中包含空格,执行后 ...

  9. mongodb3.2系统性学习——5、游标 模糊查询 findAndModify函数

    1首先介绍查询结果 返回的过程: 进行查询的时候mongodb 并不是一次哪个返回结果集合的所有文档,而是以多条文档的形式分批返回查询的结果,返回文档到内存中. 好处: 减少了客户端与服务器端的查询负 ...

  10. C# MySql 操作类

    /* MySql 类 */ using System; using System.Collections.Generic; using System.Linq; using System.Text; ...