1. 在ASP.NET使用ajax时基本上每个操作都要新建一个.ashx处理程序,页面很多,每个页面的操作也很多,这样的话项目就会产生新建很多很多的.ashx页面,能不能把方法写在后台中,然后Jquery直接调用呢?答案自然是可以的,这样做的话程序就看起来简洁多了。
  2. 前段时间下载CSDN上的资源时,我发现它们添加评论的那个功能蛮酷的,点一下 添加 按钮,评论即时显示在了最上方。下午想了下,写了一个Demo,其中 添加评论 的功能就是通过jquery调用后台方法完成的。具体代码如下:

 前台页面代码CsdnAddComment.aspx

  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CsdnAddComment.aspx.cs"
  2. Inherits="Study.CsdnAddComment" %>
  3.  
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  5. <html xmlns="http://www.w3.org/1999/xhtml">
  6. <head runat="server">
  7. <title>仿CSDN添加评论</title>
  8. <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
  9. <script type="text/javascript">
  10. $(document).ready(function () {
  11. $("#btnComment").click(function () {
  12. var txtComment = $("#txtComment").val();
  13. $.ajax({
  14. type: "post",
  15. url: "CsdnAddComment.aspx/AddComment",
  16. data: " { 'comment':'" + txtComment + "'}",
  17. contentType: "application/json; charset=utf-8",
  18. datatype: "json",
  19. success: function (message) {
  20. $("#Comment").append('<div class="NewComment">' + txtComment + '</div>');
  21. $("#NewComment").next().slideToggle();
  22. }
  23. });
  24. });
  25. });
  26. </script>
  27. </head>
  28. <body>
  29. <form id="form1" runat="server">
  30. <center>
  31. <div style="width: 50%">
  32. 新闻列表:
  33. <asp:Repeater ID="rpNews" runat="server">
  34. <ItemTemplate>
  35. <div>
  36. <%#DataBinder.Eval(Container.DataItem, "news_title")%>
  37. </div>
  38. <hr />
  39. </ItemTemplate>
  40. </asp:Repeater>
  41. <div id="Comment">
  42. </div>
  43. </div>
  44. <div>
  45. <textarea id="txtComment" rows="8" cols="70"></textarea><br />
  46. <input type="button" value="评论" id="btnComment"/>
  47. </div>
  48. </center>
  49. </form>
  50. </body>
  51. </html>

  

后台代码CsdnAddComment.aspx.cs

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Web;
  4. using System.Web.UI;
  5. using System.Web.UI.WebControls;
  6. using System.Web.Services;
  7.  
  8. namespace Study
  9. {
  10. public partial class CsdnAddComment : System.Web.UI.Page
  11. {
  12. protected void Page_Load(object sender, EventArgs e)
  13. {
  14. if (!IsPostBack)
  15. {
  16. this.GetNewsList();
  17. }
  18. }
  19.  
  20. /// <summary>
  21. /// 获取新闻列表
  22. /// </summary>
  23. private void GetNewsList()
  24. {
  25. News n = new News();
  26. List<News> newsList = n.GetNewsList();
  27. rpNews.DataSource = newsList;
  28. rpNews.DataBind();
  29. }
  30.  
  31. //添加新评论
  32. [WebMethod]
  33. public static string AddComment(string comment)
  34. {
  35. string sqlStr = "insert into tb_news(news_title,news_content,news_time,news_readtimes) values('" + comment + "','内容','2011/6/8','100')";
  36. if (SQLHelper.ExecuteNonQuery(sqlStr) > 0)
  37. {
  38. return "success";
  39. }
  40. else
  41. {
  42. return "failed";
  43. }
  44. }
  45. }
  46. }

Ajax - 异步调用后台程序 -JSON的更多相关文章

  1. jquery ajax异步调用

    写程序的第一步都要知其然,至于知其所以然就要看个人的爱好了.下面说一下web开发中经常用的ajax. 这里是用的jquery框架实现的ajax异步调用.废话少说先上代码.(asp.net开发) var ...

  2. JS常用方法总结,及jquery异步调用后台方法实例

    //前台接收get参数值 function getQueryString(name) {            var queryStrings = window.location.search.sp ...

  3. AJAX JQuery 调用后台方法返回值(不刷新页面)

    AJAX JQuery 调用后台方法返回值(不刷新页面) (1)无参数返回值(本人亲试返回结果不是预期结果) javascript方法: $(function () {             //无 ...

  4. jquery中ajax异步调用接口

    之前写过一个原始的.无封装的页面,没有引入任何外部js,直接实例化Ajax的XmlRequest对象去异步调用接口,参见Ajax异步调用http接口后刷新页面,可对比一下. 现在我们用jquery包装 ...

  5. jquery的ajax异步请求接收返回json数据

    http://www.jb51.net/article/51122.htm jquery的ajax异步请求接收返回json数据方法设置简单,一个是服务器处理程序是返回json数据,另一种就是ajax发 ...

  6. PHP中实现异步调用多线程程序代码

    本文章详细的介绍了关于PHP中实现异步调用多线程方法,下面我们以给1000个用户发送一封推荐邮件,用户输入或者导入邮件账号了提交服务器执行发送来讲述. 比如现在有一个场景,给1000个用户发送一封推荐 ...

  7. Ajax异步请求struts的JSON机制(省市区三级联动)

    1.struts.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts P ...

  8. 浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法(转载)

    在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们发现程序执行完后并没有获取到我们想要的值,这时很有可能是因为你用的是ajax的异步调用async:t ...

  9. Ajax异步调用使用

    //验证通知号重复 function checkinformcodeagage() { var informcode = $("#txtinformcode").val(); if ...

随机推荐

  1. PLSQL Developer使用技巧整理(转)

    一.工具-首选项-用户界面-编辑器-其它-显示行号二.工具-首选项-窗口类型-SQL窗口-显示隔号(行号) 在使用PL/SQL Developer对Procedure进行Debug时,突然发现无法Se ...

  2. linux ubuntu安装jdk

    Oracle对Jdk7与Jre7的关系的经典图解 Oracle has two products that implement Java Platform Standard Edition(Java ...

  3. 基于visual Studio2013解决算法导论之027hash表

     题目 hash表,用链表来解决冲突问题 解决代码及点评 /* 哈希表 链接法解决冲突问题 */ #include <iostream> using namespace std; s ...

  4. hdu 4736 This Is The Job The Bear Finds(2013年成都ACM网络赛)

    // Time 1718 ms; Memory 1500 K #include<iostream> #include<cstdio> #include<cmath> ...

  5. 《编程之美》学习笔记——指挥CPU占用率

    问题: 写一个程序.让用户来决定Windows任务管理器(Task Manager)的CPU占用率(单核). 有下面几种情况: 1.CPU占用率固定在50%,为一条直线 2.CPU的占用率为一条直线, ...

  6. JAVA学习第三十六课(经常使用对象API)— Set集合:HashSet集合演示

    随着Java学习的深入,感觉大一时搞了一年的ACM,简直是明智之举,Java里非常多数据结构.算法类的东西,理解起来就轻松多了 Set集合下有两大子类开发经常使用 HashSet集合 .TreeSet ...

  7. stm32之CAN发送、接收详解

    CAN接收报文并过滤之标识符过滤:(重点.难点) 在CAN协议里,报文的标识符不代表节点的地址,而是跟报文的内容相关的.因此,发送者以广播的形式把报文发送给所有的接收者.节点在接收报文时-根据标识符的 ...

  8. 15-UIKit(view布局、Autoresizing)

    目录: 1. 纯代码布局 2. 在View中进行代码布局 3. Autoresizing 回到顶部 1. 纯代码布局 纯代码布局分VC下和V下 [MX1-layout-code] 在VC下覆盖view ...

  9. 解决基于BAE python+bottle开发上的一系列问题 - artwebs - 博客频道 - CSDN.NET

    解决基于BAE python+bottle开发上的一系列问题 - artwebs - 博客频道 - CSDN.NET 解决基于BAE python+bottle开发上的一系列问题 分类: python ...

  10. switch的方便用法

    int ch = getch(); switch(ch) { case '0' ... '9': if (in_count) { count = count * 10 + (ch - '0'); } ...