aspx页面前端使用js 调用aspx.cs后台的方法,不回传
本次使用 Ajax.dll,AjaxPro.dll 两个类库
1.首先添加引用:Ajax.dll,AjaxPro.dll 文件在 Libiary 目录下
2.配置 WebConfig 属性
将 下面2行 放在 httpHandlers 节点里面, 如下
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/> <add verb="*" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro"/>
例如:
<httpHandlers> <remove verb="*" path="*.asmx"/> <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/> <-- 这两行 注册类库使用, 标记 相关文件的解析 !--> <add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/> <add verb="*" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro"/> </httpHandlers>
3.为页面使用做准备, *.aspx.cs 文件 里做 注册
AddUser 是 网页的名称, 也就是类名
Ajax.Utility.RegisterTypeForAjax(typeof(AddUser));
此声明 一定要在 IsPostBack 前面, 因为每一次页面刷新 都需要,
所以一般放在 Page_Load 事件的第一句话
例如:
public partial class AddUser : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { //表示当前 注册 可以调用 ajax 的类 AddUser Ajax.Utility.RegisterTypeForAjax(typeof(AddUser)); if (!IsPostBack) { } } }
4. 标记 要使用Ajax 调用 的方法
允许ajax 的 调用的 类, 必须是 public ,而且需要 做 声明标记
[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)]
例如:
[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)] public int addCategory_click(string cateName, string empId) { try { //根据输入的 参数 不同, 模拟返回 一个随机数表示 自增列的Id int categoryId = cateName.Length+empId.Length; ) { //如果输入的是 用户名和密码长度 等于2, 即返回0, //说明 进入到了 本方法 ; } //返回随机数 1到 categoryId 的长度, 结果大于0 categoryId = , categoryId); return categoryId; } catch { ; } }
5.页面上的使用
先引入 jquery,当然是为了下面操作使用 btn_add_click 方法:
<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
function btn_add_click() { var loginname = $("#txt_loginname").val(); var pwd = $("#txt_pwd").val(); // 这里可以传入多个参数 或者 不传参数 // 调用方式: 当前 类名.方法名 AddUser.addCategory_click(loginname, pwd, function (data) { var cateId = parseInt(data.value); //返回 int类型 // alert(cateId); if (cateId == 0) { //跳转 alert("输入2位"); } else { alert("添加成功"); } }); }
网页Body部分
<body> <form id="form1" runat="server"> <div style=" width:500px; border:1px solid pink; margin:0 auto;"> <table> <tr><td>用户名:</td><td> <input type="text" id="txt_loginname" value="" /></td></tr> <tr><td>密码:</td><td><input type="password" id="txt_pwd" value="" /></td></tr> <tr><td colspan="2"><input type="button" value="添加" onclick="btn_add_click();" name="btn_add" id="btn_add" /></td></tr> </table> </div> </form> </body>
接下来是 发放源代码: 源代码下载
aspx页面前端使用js 调用aspx.cs后台的方法,不回传的更多相关文章
- WebForm.aspx 页面通过 AJAX 访问WebForm.aspx.cs类中的方法,获取数据
WebForm.aspx 页面通过 AJAX 访问WebForm.aspx.cs类中的方法,获取数据 WebForm1.aspx 页面 (原生AJAX请求,写法一) <%@ Page Langu ...
- WebForm.aspx 页面通过 AJAX 访问WebForm.aspx.cs类中的方法,获取数据(转)
WebForm.aspx 页面通过 AJAX 访问WebForm.aspx.cs类中的方法,获取数据 WebForm1.aspx 页面 (原生AJAX请求,写法一) <%@ Page Langu ...
- asp.net ajax传递Json给aspx.cs后台 webmethod方法传递json
1.提取一个向后台写入数据的方法 ///向后台cs页面请求数据的方法 function myPost(url,data,func) { $.ajax({ type: "post", ...
- JS调用asp.net后台方法:PageMethods
先帮朋友宣传一下程序人生(http://www.manong123.com)的网站,里面都是开发感悟,开发人员创业,支持一下吧~ 原来是通过PageMethods来实现的. 举个列子: Default ...
- js调用父窗口中的方法
window.open调用父窗口中的方法 回调函数: function fun9(ex){ alert(ex); } 调用语句: window.open("RoomSelecter.htm? ...
- js调用asp.net 后台属性值
后台代码: public string title = "js调用后台属性值"; public void getContent() { return title; } 前台代码: ...
- Js调用asp.net后台代码
方法一: 1.首先建立一个按钮,在后台将调用或处理的内容写入button_click中; 2.在前台写一个js函数,内容为document.getElementById("b ...
- 【Web前端】---js调用本地应用程序
最近进入了一个项目组,向大牛们一起学习如何搞开发,可谓是边开发边学习.就在前两天,我们的项目被领导们验收了一次,顺便给我们提了点新的需求,要求我们能够使用外在设备拍照上传.君要臣死,臣不能不死.更何况 ...
- Xamarin Android Webview中JS调用App中的C#方法
参考链接:https://github.com/xamarin/recipes/tree/master/Recipes/android/controls/webview/call_csharp_fro ...
随机推荐
- .NET invoke NetSuite Restlet
Please indicate the source if you need to repost. Restlet allows programmers to use the http request ...
- C#删除程序自身【总结】
偶然看到一个可以自删除的程序,于是了解下如何实现.然后整理如下: 思路: 在.NET程序中,因为运行中的程序是受系统保护的,不能自己删除自身的,所以自删除的思路: 在关闭本程序之前启动新的进程打开另 ...
- ajax携带状态值
- Android Volley框架的使用(4)
5. 取消请求 可以通过请求的setTag()方法给请求设置TAG,需要取消这些请求时,用请求队列的cancelAll()方法取消带有特定TAG的请求. 为请求设置TAG: stringRequest ...
- springMVC分页,interceptor实现
PageInterceptor.java @Intercepts({ @Signature(type = StatementHandler.class, method = "prepare& ...
- Java面试题系列 提高Java I/O 性能
1.提高java的 i/o性能.. http://blog.csdn.net/cherami/article/details/3854 我们知道Java中一般的输入输出流都是用单字节的读取方法来进行I ...
- buffer和cache有什么本质区别
在free命令展示机器的内存消耗情况,会像这样展示
- GJM: Unity3D基于Socket通讯例子 [转载]
首先创建一个C# 控制台应用程序, 直接服务器端代码丢进去,然后再到Unity 里面建立一个工程,把客户端代码挂到相机上,运行服务端,再运行客户端. 高手勿喷!~! 完全源码已经奉上,大家开始研究吧! ...
- rabbitmq启动异常之error,{not_a_dets_file recovery.dets
中午,公司群里面测试人员@笔者说,早上测试服务器异常,MQ起不来,重启os了也起不来,报错,上去看下了早上又因为内存oom被内核killed了,启动了下,确实启动报错,erl vm进程起来了,但是be ...
- hibernate(四)__由表逆向创建Domain对象和对象关系映射文件
之前我们是手写Domain对象和对象关系映射文件->然后生成数据库中的Table. 现在我们反过来先在数据库中建好Table->然后用工具生成Domain对象和对象关系映射文件. 步骤: ...