- 浏览: 183489 次
- 性别:
- 来自: 深圳
文章分类
最新评论
这个当然不用说大家都知道的一种就是ajax调后台的方法。
1、有参数的方法调用
示例代码如下:
前台jQuery代码:
$(function() {
这个当然不用说大家都知道的一种就是ajax调后台的方法。
1、有参数的方法调用
示例代码如下:
前台jQuery代码:
$(function() {
var browers = browersEstimate();
var params = '{browersType:"' + browers + '"}';
$.ajax({
type: "POST", //提交方式
url: "Default.aspx/RecordData", //提交的页面/方法名
data: params, //参数(如果没有参数:null)
dataType: "json", //类型
contentType: "application/json; charset=utf-8",
success: function(data) {
//返回的数据用data.d获取内容
alert(data.d);
},
error: function(err) {
alert(err);
});
});
这个是jquery下Ajax方法调用后台方法。
这个方法有几点需要说明:
type方式必须是post,再有就是后台的方法必须是静态的,方法声明要加上特性[System.Web.Services.WebMethod()],传递的参数个数也应该和方法的参数相同。
asp.net后台方法:
[System.Web.Services.WebMethod()]
public static void RecordData(string browersType)
{
if (BrowserControl.Counters == null)
{
BrowserControl.InitData(0);
}
if (browersType == "")
{
browersType = "Other";
}
BrowserControl.AddOneByBrowserType(browersType);
if (BrowserControl.WriteInDataBase())
{
BrowserControl.OldTotalCount = BrowserControl.Counters.Count;
}
else
{
BrowserControl.OldTotalCount = 0;
}
}
2、无参数的方法调用
示例代码:
前台jQuery代码
$(function() {
$("#btnOK").click(function() {
$.ajax({
//要用post方式
type: "Post",
//方法所在页面和方法名
url: "data.aspx/SayHello",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
//返回的数据用data.d获取内容
alert(data.d);
},
error: function(err) {
alert(err);
}
});
//禁用按钮的提交
return false;
});
});
asp.net后台方法
[System.Web.Services.WebMethod()]
public static string SayHello()
{
return "Hello Ajax!";
}
3、返回数组方法的调用
示例代码:
asp.net 后台代码:
[System.Web.Services.WebMethod()]
public static List GetArray()
{
List li = new List();
for (int i = 0; i < 10; i++)
li.Add(i + "");
return li;
}
前台JQuery代码:
/**/
$(function() {
$("#btnOK").click(function() {
$.ajax({
type: "Post",
url: "data.aspx/GetArray",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
//插入前先清空ul
$("#list").html("");
//递归获取数据
$(data.d).each(function() {
//插入结果到li里面
$("#list").append("" + this + "");
});
alert(data.d);
},
error: function(err) {
alert(err);
}
});
//禁用按钮的提交
return false;
});
});
4、返回Hashtable方法的调用
using System.Collections;
[System.Web.Services.WebMethod()]
public static Hashtable GetHash(string key,string value)
{
Hashtable hs = new Hashtable();
hs.Add("www", "yahooooooo");
hs.Add(key, value);
return hs;
}
前台JQuery代码:
$(function() {
$("#btnOK").click(function() {
$.ajax({
type: "Post",
url: "data.aspx/GetHash",
//记得加双引号
data: "{ 'key': 'haha', 'value': '哈哈!' }",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
alert("key: haha ==> "+data.d["haha"]+" key: www ==> "+data.d["www"]);
},
error: function(err) {
alert(err + "err");
}
});
//禁用按钮的提交
return false;
});
});
5、操作xml
xnl文件示例:
<?xml version="1.0" encoding="utf-8" ?>
<data>
<item>
<id>1</id>
<name>qwe</name>
</item>
<item>
<id>2</id>
<name>asd</name>
</item>
</data>
Jquery代码:
$(function() {
$("#btnOK").click(function() {
$.ajax({
url: "XMLtest.xml",
dataType: 'xml', //返回的类型为XML ,和前面的Json,不一样了
success: function(xml) {
//清空list
$("#list").html("");
//查找xml元素
$(xml).find("data>item").each(function() {
$("#list").append("id:" + $(this).find("id").text() +"");
$("#list").append("Name:"+ $(this).find("name").text() + "");
})
},
error: function(result, status) { //如果没有上面的捕获出错会执行这里的回调函数
alert(status);
}
});
//禁用按钮的提交
return false;
});
});
6、调后台的另外一种方法:
js代码示例:
function test() {
var browers = browersEstimate();
__doPostBack("CE_RecordData", browers);
}
后台页面代码示例:
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
if (this.IsPostBack)
{
if ((Request.Form["__EVENTTARGET"] != null) && (Request.Form["__EVENTTARGET"] != ""))
{
if (Request.Form["__EVENTTARGET"].Substring(0, 3) == "CE_")
{
String strEventArgument = Request.Form["__EVENTARGUMENT"];
Type type = this.GetType();
MethodInfo mi = type.GetMethod(Request.Form["__EVENTTARGET"], BindingFlags.Instance | BindingFlags.NonPublic);
if (mi != null)
{
mi.Invoke(this, new object[] { strEventArgument });
}
}
}
}
}
protected void CE_RecordData(string browersType)
{ -----你需要做的操作----- }
如上代码解释:主要是js代码里面的方法名要与后台一致,方法参数个数也要一致,最重要的是页面的OnLoad事件的重写。在这里面调用的父类的OnLoad事件,重要是利用反射获取要调用的方法,和传递过来的参数。
type.GetMethod(Request.Form["__EVENTTARGET"], BindingFlags.Instance | BindingFlags.NonPublic);这一句里面的参数设置不能变更。必须是实例Instance和不公开的方法。可以看到对应的CE_RecordData方法是受保护的。
发表评论
文章已被作者锁定,不允许评论。
-
使用SignalR构建一个最基本的web聊天室
2015-01-06 15:09 728使用SignalR,可以使用服务器消息推送到客户端,件demo ... -
lazyload异步加载图片
2014-12-24 15:18 489如果一个网页很长并且有很多图片的话,下载图片就需要很多时间 ... -
checbox,redio超强样式运用
2013-06-04 16:49 757<html xmlns="http://ww ... -
一个避免用户重复点击按钮造成重复数据的小技巧
2013-01-13 16:13 1175<script> //启用 ... -
.net 用JQuery+ajax实现批量上传图片
2012-08-07 23:15 1466先看效果图 点击增加按钮,会增加一个选择框, ... -
类似QQ选择组
2012-04-11 19:07 717<style>td {font:12px;}.ti ... -
javascript弹出窗口大全
2011-09-21 20:27 660关键字: 弹出窗口 如何利用网页弹出各种形式的窗口,我想大家大 ... -
合并单元格
2011-07-21 17:33 842<html ><head><me ... -
一些实用的jQuery代码片段
2011-07-19 15:42 8081.jQuery得到用户IP: $.ge ... -
10大Ajax开发守则
2011-06-08 14:14 7441.前、端后都要做好安全的把关工作不能单靠前端做安全验证工作, ... -
jQuery中常用的函数方法汇总
2011-05-23 00:16 753事件处理 ready(fn) 代 ... -
jquery选择器,过滤器介绍
2011-05-19 19:20 854一、JQuery与JavaScript 1.Jav ... -
jquery常用过滤选择器
2011-05-19 19:18 704过滤选择器主要 ... -
jquery函数
2011-05-18 23:25 657函数:after(content)功能:在每个匹配的元素后面添 ...
相关推荐
asp.net前台调用后台方法传参数! 值得下载看看!资源免费,大家分享!!
asp.net前台显示后台处理进度条,代码简单清晰,文章参考http://nongfuit.com/html/70/201201/8383.html有效果图
ASP.NET中前台javascript与后台代码调用
这是一个用于as.net网页的弹出层对话框的实例,原本弹出提示可以使用alert('lcng'),但是由于不太友好,而且不太美观,后来才想自己做一个,当然了网上也有许多弹出对话框的jquery插件,不过平常使用的时候...
ASP.NET完整实现查询前台、后台视频 包括Html框架技术 以及动态加载人员菜单
asp.net中后台c#数组与前台js数组交互上述代码即为我解决问题所用代码,均已试验通过。
Asp.net新闻反馈前台+后台管理(查看+管理)
实现后台对图书的管理,从而进行编辑发布与删除,实现购物者在购物车方面的功能。
3. 提供单一后台支持多前台应用配置 4. 提供单点登录 5. 集成系统认证授权模块 6. 提供角色,部门,用户,菜单,前台应用程序授权 角色对用户授权 角色对菜单授权 角色对部门授权 角色对应用程序授权(多个前台...
ASP.NET中前台javascript与后台代码调用.doc
Net前台调用后台变量 1.Asp.Net中几种相似的标记符号: < %=…%>< %#… %>< % %>< %@ %>解释及用法 答: < %#… %>: 是在绑定控件DataBind()方法执行时被执行,用于数据绑定 如: < %# Container....
ASP.NET中前台javascript与后台代码调用 1如何在JavaScript访问C#函数? 2.如何在JavaScript访问C#变量? 3.如何在C#中访问JavaScript的已有变量? 4.如何在C#中访问JavaScript函数? 问题1答案如下: javaScript函数中...
这是一个关于后台管理前台的系统,通过后台的操作,在前台动态显示。本网站使用vs2008,asp.net3.0编写。代码编写对初学者是很容易,因为我也是一个初学者。如有疑问可以叫我QQ:562257748~!
自由宿主Asp.net网站通用后台管理系统特点如下: 1. 后台本身没有数据库,自己设计数据库后,与后台连接,配置好节点后无需二次开发,直接就可以实现对数据库增删改查功能; 2. 后台密码支持自定义加密/解密算法,...
前台、后台分离,后台功能强大,简单。前台可根据情况更改 内附文件管理系统 利于优化及收录,内置SEO设置,可自动生成robots.txt及sitemap.xml 可自由新建栏目及分类 可设计属于自己风格的博客(懂HTML+CSS就可以了...
ASP.NET企业网站通用后台,VS2008+access开发,使用了Jquery,到手即可接着写前台,很方便,欢迎大家光临小站:http:www.skinok.cn
ajax前台直接调用后台方法 超简单 从此ajax使用就这么简单了 哈哈 带使用例子 支持IE6及IE6以上的任何浏览器
该项目使用的是asp.net开发环境,中间使用了c#后台编码,html前台显示,css前台排版,javascript前台脚本,jQuery以及jQuery-UI的使用,ajax的局部页面刷新技术,sqlserver数据库的数据存储以及查询更新。...
asp.net core2.1 新闻发布系统 后台EF增删改查,前台界面展示最新信息,新闻评论