WebForm.aspx 页面通过 AJAX 访问WebForm.aspx.cs类中的方法,获取数据
WebForm.aspx 页面通过 AJAX 访问WebForm.aspx.cs类中的方法,获取数据
WebForm1.aspx 页面 (原生AJAX请求,写法一)
- <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="IsPostBack.WebForm1" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head runat="server">
- <title></title>
- <script src="jquery-1.11.2.js" type="text/javascript"></script>
- <script type="text/javascript">
- function btnClick() {
- var xmlhttp = new XMLHttpRequest();
- if (!xmlhttp) {
- alert("创建xmlhttp对象异常");
- return false;
- }
- xmlhttp.open("POST", "WebForm1.aspx", true);
- xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
- xmlhttp.onreadystatechange = function () {
- if (xmlhttp.readyState == 4) {
- if (xmlhttp.status == 200) {
- var str = xmlhttp.responseText; // 通过alert(str)得知 str={"Json":[{"Id":"1","UserName":"张三","Age":"25","Gender":"0"}]}
- //debugger;
- var obj = $.parseJSON(str); //将str这个字符串转换成Json对象
- var name = obj.Json[0].UserName; //obj.Json取到的是[{"Id":"1","UserName":"张三","Age":"25","Gender":"0"}] 这个数组,数组里只有一个值,即:{"Id":"1","UserName":"张三","Age":"25","Gender":"0"} 所以obj.Json[0]的值就是{"Id":"1","UserName":"张三","Age":"25","Gender":"0"} ; 而这个{"Id":"1","UserName":"张三","Age":"25","Gender":"0"} 是一个对象,所以可以通过 .UserName来获得 "张三" 这个值
- var age = obj.Json[0].Age;
- document.getElementById("name").innerHTML = name;
- document.getElementById("age").innerHTML = age;
- }
- else {
- alert("ajax服务器错误");
- }
- }
- }
- xmlhttp.send("id=1");
- }
- </script>
- </head>
- <body>
- <form id="form1" runat="server">
- <div>
- <table id="t1"border="1px">
- <tr><td>姓名</td><td>年龄</td></tr>
- <tr><td id="name"></td><td id="age"></td></tr>
- </table>
- <input type="button" onclick="btnClick()" value="提交"/>
- </div>
- </form>
- </body>
- </html>
WebForm1.aspx 页面 (AJAX请求,写法二,一般情况下我们用这种)
- <head runat="server">
- <title></title>
- <script src="jquery-1.11.2.js" type="text/javascript"></script>
- <script type="text/javascript">
- function btnClick() {
- $.ajax({
- url: "WebForm1.aspx",
- type: "Post",
- dataType: "Text", //请求到服务器返回的数据类型
- data: { "id": "2" },
- success: function (data) {
- var obj = $.parseJSON(data); //这个数据
- var name = obj.Json[0].UserName;
- var age = obj.Json[0].Age;
- document.getElementById("name").innerHTML = name;
- document.getElementById("age").innerHTML = age;
- }
- })
- }
- </script>
- </head>
- <body>
- <form id="form1" runat="server">
- <div>
- <table id="t1"border="1px">
- <tr><td>姓名</td><td>年龄</td></tr>
- <tr><td id="name"></td><td id="age"></td></tr>
- </table>
- <input type="button" onclick="btnClick()" value="提交"/>
- </div>
- </form>
- </body>
- </html>
WebForm1.aspx.cs
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Data.SqlClient;
- using System.Data;
- namespace IsPostBack
- {
- public partial class WebForm1 : System.Web.UI.Page
- {
- protected void Page_Load(object sender, EventArgs e)
- {
- string id = Request["id"]; //如果不是通过ajax 请求提交数据 就不会取到这个id ,所以此时的id 为null。但是如果是通过ajax请求提交数据,因为提交数据中有提交id,所以就能够取到这个id ,此时的id就有值了。
- if (!string.IsNullOrEmpty(id)) // 如果不是通过ajax 请求提交数据 就不会进入花括号来调用GetUserData(string id) 方法
- {
- GetUserData(id); //如果是通过ajax请求提交数据,就会进入花括号来调用GetUserData(string id) 方法
- }
- }
- void GetUserData(string id)
- {
- DataTable dt= SqlHelper.ExecuteDataTable("select * from T_User where id=@id", new SqlParameter("id", id));
- string data= DataTableConvertJson.DataTableToJson("Json", dt);
- Response.Write(data);
- Response.End(); //将当前所有缓冲的输出发送到客户端,停止该页的执行,如果没有这一步的话,程序还会往后执行,除了把data输出到客户端之外,还会将webForm1.aspx里面的html代码都输出到页面。
- }
- }
- }
WebForm.aspx 页面通过 AJAX 访问WebForm.aspx.cs类中的方法,获取数据的更多相关文章
- WebForm.aspx 页面通过 AJAX 访问WebForm.aspx.cs类中的方法,获取数据(转)
WebForm.aspx 页面通过 AJAX 访问WebForm.aspx.cs类中的方法,获取数据 WebForm1.aspx 页面 (原生AJAX请求,写法一) <%@ Page Langu ...
- 转:jquery向普通aspx页面发送ajax请求
本文将介绍在ASP.NET中如何方便使用Ajax,第一种当然是使用jQuery的ajax,功能强大而且操作简单方便,第二种是使用.NET封装好的ScriptManager. $.ajax向普通页面发送 ...
- 【spring 后台跳转前台】使用ajax访问的后台,后台正常执行,返回数据,但是不能进入前台的ajax回调函数中
问题: 使用ajax访问的后台,后台正常执行,并且正常返回数据,但是不能进入前台的ajax回调函数中 问题展示: 问题解决: 最后发现是因为后台的方法并未加注解:@ResponseBody,导致方法 ...
- 【springMVC 后台跳转前台】1.使用ajax访问的后台,后台正常执行,返回数据,但是不能进入前台的ajax回调函数中 ----2.前后台都没有报错,不能进入ajax回调函数
问题1: 使用ajax访问的后台,后台正常执行,并且正常返回数据,但是不能进入前台的ajax回调函数中 问题展示: 问题解决: 最后发现是因为后台的方法并未加注解:@ResponseBody,导致方 ...
- 关于JQuery 中$.ajax函数利用jsonp实现Ajax跨域请求ASP.NET的WebService成功获取数据的案例
部署环境:Window 7 SP1+IIS7 成功方案: 其成功解决问题的几个重要因素如下: 1. 由于WebService默认不支持Get请求,所以要在Web.config配置文件内的& ...
- 获取class对象的三种方法以及通过Class对象获取某个类中变量,方法,访问成员
public class ReflexAndClass { public static void main(String[] args) throws Exception { /** * 获取Clas ...
- aspx页面使用ajax遇到try catch中使用Response.End()报错
1.使用Ajax接收数据,在返回Response.Write()后应该调用Response.End()才能将数据写入到调用的页面,才能被jQuery的回调函数获取到返回的JSON数据 2.在try-- ...
- aspx页面前端使用js 调用aspx.cs后台的方法,不回传
本次使用 Ajax.dll,AjaxPro.dll 两个类库 1.首先添加引用:Ajax.dll,AjaxPro.dll 文件在 Libiary 目录下 2.配置 WebConfig 属性 将 下面2 ...
- Python 中的登陆获取数据跳转页面(不含数据库)
简单表单和模板: import os.path import tornado.httpserver import tornado.ioloop import tornado.options impor ...
随机推荐
- JS, Node.js, npm简介
序 听过JS,听过Node,也听过Node.js,还听过npm,然而并不是很清楚的知道都代表什么,这两天调接口,然后前端同学很忙,就自己把前端代码拿过来跑了,也趁机了解一下这几个概念,下边做个小的总结 ...
- Linux 内核高-低端内存设置代码跟踪(ARM构架)
对于ARM中内核如何在启动的时候设置高低端内存的分界线(也是逻辑地址与虚拟地址分界线(虚拟地址)减去那个固定的偏移),这里我稍微引导下(内核分析使用Linux-3.0): 首先定位设置内核虚拟地址起始 ...
- mysql中常用的字符串函数
写在分割线之前,个人以为,数据库应该具备简单的的数据加工能力.如同食品在吃之前,是要经过很多到工序的,有经过初加工.粗加工.精加工.深加工等.那么mysql也应该并必须担任起数据初加工以及粗加工的责任 ...
- 日志模块logging使用心得
在应用程序使用中,日志输出对应用维护人员.开发人员判断程序的问题起重要作用. 那么在python中如何定义程序的日志输出? 推荐使用日志模块logging 需求:实现日志内容输出在文件中和控制器中 i ...
- JS-DOM2级事件对象跨浏览器处理(已封装)
var eventUill = { //添加事件 addHander: function(element, type, handler) { if(element.addEventListener) ...
- glade2支持C++代码的输出(2)
今天更新了一个BaseObject的代码:BaseObject.002.zip 同时将glade2生成C++代码的代码进行了调整,基于2.12.2的补丁为:cpp_out_2.patch.tar.xz ...
- linq lamda
var query6 = CustomerList.SelectMany(c => c.Orders);var query6= from c in CustomerList ...
- 自然语言15_Part of Speech Tagging with NLTK
https://www.pythonprogramming.net/part-of-speech-tagging-nltk-tutorial/?completed=/stemming-nltk-tut ...
- PyQ1_介绍
PyQt是一个创建GUI应用程序的工具包.它是Python编程语言和Qt库的成功融合.Qt库是目前最强大的库之一.PyQt是由Phil Thompson 开发. PyQt实现了一个Python模块 ...
- ubuntu下JDK的安装
硬盘上有下载好的JDK,直接解压后配置profile环境变量就行 export JAVA_HOME=/usr/lib/jvm/java-8-oracle export JRE_HOME=${JAVA_ ...