WebForm.aspx 页面通过 AJAX 访问WebForm.aspx.cs类中的方法,获取数据(转)
2017-09-10 11:02
621 查看
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"> b57b <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
如果你是try...catch里面使用了Response.End()的话,会被捕捉到一个异常:线程被中止" 解决方法:请点击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类中的方法,获取数据
- 页面上一段时间内通过ajax轮询后台数据的简单实现方法
- JSP页面加载时同时访问action获取数据( struts标签s:action方法)
- TinyMCE提交AjaxForm获取不到数据的解决方法
- TP下页面通过Ajax获取控制器中的数据
- TinyMCE提交AjaxForm获取不到数据的解决方法
- Struts2 访问Action和Jsp页面出现的路径问题解决方案之 ---- 为jsp、图片、js、css等获取Web工程的绝对路径的方法
- (js方法)通过给的api接口用ajax获取到接口数据
- select2通过AJAX获取远程数据的方法
- Ajax获取数据然后显示在页面的实现方法
- 分享实现web用户控件调用.aspx页面里的方法(从而达到访问母页面中控件的目的)
- jquery 通过ajax请求获取后台数据显示在表格上的方法
- 在phpstorm中利用post方法提交form表单后,在响应页面获取不到数据的解决办法
- java通过url获取页面数据 java解析xml 基金净值接口使用方法
- jquery通过ajax方法获取json数据不执行success
- WebForm 获取实体类的数据,填充页面(用AJAX异步获取值,和用session传值)
- 豆瓣API使用介绍及通过ajax跨域获取url的json数据的方法
- js中对arry数组的各种操作小结 瀑布流AJAX无刷新加载数据列表--当页面滚动到Id时再继续加载数据 web前端url传递值 js加密解密 HTML中让表单input等文本框为只读不可编辑的方法 js监听用户的键盘敲击事件,兼容各大主流浏览器 HTML特殊字符
- js页面用定时任务通过AJAX获取后台数据,但是从这个页面跳转到其他页面后,定时任务仍然在定时请求后台