aspx页面前端使用js 调用aspx.cs后台的方法,不回传
2014-11-18 00:34
676 查看
本次使用 Ajax.dll,AjaxPro.dll 两个类库
1.首先添加引用:Ajax.dll,AjaxPro.dll 文件在 Libiary 目录下
2.配置 WebConfig 属性
将 下面2行 放在 httpHandlers 节点里面, 如下
例如:
3.为页面使用做准备, *.aspx.cs 文件 里做 注册
AddUser 是 网页的名称, 也就是类名
此声明 一定要在 IsPostBack 前面, 因为每一次页面刷新 都需要,
所以一般放在 Page_Load 事件的第一句话
例如:
4. 标记 要使用Ajax 调用 的方法
允许ajax 的 调用的 类, 必须是 public ,而且需要 做 声明标记
例如:
5.页面上的使用
先引入 jquery,当然是为了下面操作使用 btn_add_click 方法:
网页Body部分
接下来是 发放源代码: 源代码下载
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; if (categoryId==2) { //如果输入的是 用户名和密码长度 等于2, 即返回0, //说明 进入到了 本方法 return 0; } //返回随机数 1到 categoryId 的长度, 结果大于0 categoryId = new Random().Next(1, categoryId); return categoryId; } catch { return 0; } }
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>
接下来是 发放源代码: 源代码下载
相关文章推荐
- 在页面上使用javascript调用aspx.cs后台方法
- 在页面上使用javascript调用aspx.cs后台方法
- C#前台js里面使用ajax调用后台aspx.cs方法
- 在aspx页面中调用aspx.cs后台方法
- 在aspx页面里调用cs后台文件里的方法,返回结果到aspx页面
- asp.net中aspx页面中调用后台cs中的方法
- 在aspx页面中调用aspx.cs后台方法
- aspx页面js向aspx.cs后台传值的方法
- 使用JQuery方式的Ajax调用demo.aspx.cs文件后台的方法
- SilverLight 页面后台方法XX.xaml.cs 创建JS,调用JS ,弹出提示框
- iframe中js调用父页面的使用方法
- 微软ASP.Net Ajax:使用AJAX直接调用后台页面类方法
- .net 中 前台aspx页面调用后台.cs文件中的变量
- 调用iframe两个子页面js的方法,分别获得数组,拆分数组,拼接一定规则的字符串,用ajax传到后台,
- ASPX页面的button服务器控件调用JS方法
- 微软ASP.Net Ajax:使用AJAX直接调用后台页面类方法
- 【转】C#后台调用前台页面js方法
- ASP.NET 后台.cs文件执行.aspx页面的javascript方法
- 从外部的js文件中使用<%=%>获取ASPX页面的ClientID获取后台代码
- [转]javascript 异步调用 后台.cs里的方法 PageMethods如何使用