虽然WebForm里面有那些基本控件,后台CS里面也有许许多多的控件的方法。但是不见得有些标签不需要进行后台的访问,下面介绍一下三种aspx中访问后台的方式。。

第一种:WebMethod (静态方法)

     //通过WebMethod的静态方法,访问自己cs后面的方法
     [WebMethod]
public static string GetMsgByWeb()
{
return "Hello Word";
}

第二种:映射请求方法

        /// <summary>
/// 通过映射访问自己cs后面方法
/// </summary>
/// <param name="page"></param>
/// <param name="method"></param>
/// <returns></returns>
public static void GetJsonByPage(Page page,string method="act")
{
var m_method = page.Request[method];
if (m_method != null)
{
try
{
var res = page.GetType().GetMethod(m_method, BindingFlags.Public | BindingFlags.Static | BindingFlags.Instance).Invoke(page,null);
if (res != null)
page.Response.Write(res);
}
catch (Exception ex)
{
page.Response.Write(JsonConvert.SerializeObject(ex));
}
page.Response.End();//将当前所有缓冲输出到客户端,停止该页的执行,否则页面HTML也会输出
}
}

第三种:MVC模式请求控制器

   public class TestController : System.Web.Mvc.Controller
{
public string GetText()
{ var str =Request["value"] + "";
return str;
}
}

前端代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="testWebMethod.aspx.cs"
Inherits="StudyProgram.Pages.testWebMethod" %> <!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="../Scripts/JQuery-1-10-2.js" type="text/javascript"></script>
<style> </style>
</head>
<body>
<form id="form1" runat="server">
<div>
<button onclick='GetMsg()'>
测试WebMethod</button>
<button onclick='GetMsg1()'>
测试</button>
<input id="test" type="button" value="contrller" onclick="fnGetMsg(this)" />
</div>
</form>
<script>
$(function () {
//GetMsg();
}); //请求后台静态方法
function GetMsg() {
$.ajax({ //调用的静态方法,所以下面必须参数按照下面来
url: 'testWebMethod.aspx/GetMsgByWeb',
type: 'post',
contentType: "application/json",
dataType: 'json',
data: "{}", //必须的,为空的话也必须是json字符串
success: function (data) {//这边返回的是个对象
console.log(data);
if (data != null)
alert(data.d);
}
});
} //通过后台映射方法请求数据
function GetMsg1() {
$.ajax({ //调用的静态方法,所以下面必须参数按照下面来
url: '?method=GetMsgByWeb1',
type: 'post',
data: { id: 'huage' },
dataType: 'text',
success: function (data) {
console.log(data);
if (data != "")
alert(data);
}
});
} //通过请求控制器得到结果
function fnGetMsg(btn) {
var value = $(btn).val();
// $.post("../Controllers/Controller/Test", function (res) {
// if (!res)
// alert(res);
// }); $.ajax({ //调用的静态方法,所以下面必须参数按照下面来
url: "../../Test/GetText",
type: 'post',
data: { value: value },
dataType: 'text',
success: function (data) {//这边返回的是个对象
console.log(data);
if (data)
alert(data);
}
});
}
</script>
</body>
</html>

C#WebForm里面aspx,ajax请求后台。。。的更多相关文章

  1. C# 动态创建SQL数据库(二) 在.net core web项目中生成二维码 后台Post/Get 请求接口 方式 WebForm 页面ajax 请求后台页面 方法 实现输入框小数多 自动进位展示,编辑时实际值不变 快速掌握Gif动态图实现代码 C#处理和对接HTTP接口请求

    C# 动态创建SQL数据库(二) 使用Entity Framework  创建数据库与表 前面文章有说到使用SQL语句动态创建数据库与数据表,这次直接使用Entriy Framwork 的ORM对象关 ...

  2. ajax请求后台有时走有时不走

    ajax请求后台有时走有时不走   ajax请求后台有时走有时不走,是因为没有将请求设置为同步方式,async:false,(默认为true即异步).如果不想使用缓存可以将cache:false,例如 ...

  3. 前台返回json数据的常用方式+常用的AJAX请求后台数据方式

    我个人开发常用的如下所示: 之所以像下面这样下,一是前台Ajax,二是为安卓提供接口数据 现在常用的是返回JSON数据,XML的时代一去不复返 JSON相对于XML要轻量级的多 对JSON不是十分熟悉 ...

  4. JS 操作 HTML 和 AJAX 请求后台数据

    为某个元素插入值,添加属性,添加子元素 <div class="col-sm-6"> <select class="form-control" ...

  5. jquery中ajax请求后台数据成功后既不执行success也不执行error解决方法

    jquery中ajax请求后台数据成功后既不执行success也不执行error,此外系统报错:Uncaught SyntaxError: Unexpected identifier at Objec ...

  6. Ajax请求后台数据

    一.前期准备 安装好XAMPP软件,并运行起来.本文代码是基于XAMPP开发环境,XAMPP是完全免费且易于安装的Apache发行版,其中包含MariaDB.PHP和Perl.XAMPP开放源码包的设 ...

  7. 解决.NET Core Ajax请求后台传送参数过大请求失败问题

    解决.NET Core Ajax请求后台传送参数过大请求失败问题 今天在项目上遇到一个坑, 在.Net Core中通过ajax向mvc的controller传递对象时,控制器(controller)的 ...

  8. ajax请求后台,有时收不到返回值的解决办法

    昨天下午做项目遇到一个问题,贴出来方便以后翻阅,也给大家个参考. 问题: 具体做的是个文件导入的功能,导入的功能是成功了,但是界面一直得不到返回值,排查了一下午,调试的时候是可以有返回的,但是关掉浏览 ...

  9. 解决Ajax请求后台Servlet接口拿不到JSON数据问题

    前端Ajax请求代码如下: window.onload=function() { var url='http://127.0.0.1:8080/testpj/ErrorlogServlet'; $.a ...

随机推荐

  1. JavaScript:一句代码输出重复字符串(字符串乘法)

    看到一个题目要求写一个函数times,输出str重复num次的字符串. 比如str:bac     num:3 输出:abcabcabc 除了利用循环还有几种方法,我学习研究之后记下以下三种方法. 1 ...

  2. Secret of Chocolate Poles (Aizu1378——dp)

    Select Of Chocolate Poles 题意:有一个竖直放置的高度为l cm的盒子,现在有三种方块分别为1cm的白块,1cm的黑块,k cm的黑块,要求第一块放进去的必须是黑色的,盒子最上 ...

  3. 5.terms搜索多个值以及多值搜索结果优化

    主要知识点 terms搜索多个值,并和term的比较     一.term和terms terms是在这个字段中搜索多个值,相当于sql中的in语法 (select * from tbl where ...

  4. UCloud 的安全秘钥

    UCloud 的安全秘钥(困难) 1200ms 262144K 每个 UCloud 用户会构造一个由数字序列组成的秘钥,用于对服务器进行各种操作.作为一家安全可信的云计算平台,秘钥的安全性至关重要.因 ...

  5. noip模拟赛 黑骑士

    题目描述江爷爷给你出了一道题:给你一个图,保证每个点最多属于一个简单环,每个点度数最多为3,求这个图有多少“眼镜图形个数”保证图联通哦~其中“眼镜图形个数”,定义为三元组(x,y,S),其中x和y表示 ...

  6. debug jdk source can't watch variable what it is

    https://www.cnblogs.com/shuaiqing/p/7525841.html https://stackoverflow.com/questions/18255474/debug- ...

  7. [转]十五天精通WCF——第二天 告别烦恼的config配置

    经常搞wcf的基友们肯定会知道,当你的应用程序有很多的“服务引用”的时候,是不是有一种疯狂的感觉...从一个环境迁移到另外一个环境,你需要改变的 endpoint会超级tmd的多,简直就是搞死了人.. ...

  8. Android:开机自启动并接收推送消息

    接收推送消息部分我们通过ZeroMQ实现,可以参考http://www.cnblogs.com/ilovewindy/p/3984283.html. 首先是开机自启动的功能实现,代码如下:1.     ...

  9. HDU 3001

    题目中说明每个城市至少要走一次,至多走2次,因此要用到三进制压缩,然后就是状态转移方程了. 这道题就处理三进制的地方麻烦一点.同时注意,在选择最小长度时,一定是要每一个点都经过至少一次的,即是状态的每 ...

  10. springmvc mybatis 分页插件 pagehelper

    springmvc mybatis 分页插件 pagehelper 下载地址:pagehelper 4.2.1 , jsqlparser 0.9.5 https://github.com/pagehe ...