1、提取一个向后台写入数据的方法

            ///向后台cs页面请求数据的方法
function myPost(url,data,func) {
$.ajax({
type: "post", //要用post方式
data:data,
url: url,//"Demo.aspx/SayHello",//方法所在页面和方法名
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
func(1,data.d);
},
error: function (err) {
func(-1,err);
}
});
}

2.1、没有参数的传递到后台的写法

            myPost("orgList.aspx/GetOrgList","{}", function (isSuccess, data) {
if (isSuccess < 0) { layer.msg(data); return; }
if (data && data.length > 0) {
zTreeNodes = eval('(' + data + ')');
zTreeObj = $.fn.zTree.init($("#tree"), setting, zTreeNodes);
}
});

2.2带参数的写法

              myPost("orgList.aspx/GetModel","{ID:"+treeNode.id+"}", function (isSuccess, data) {
if (isSuccess < 0) { layer.msg(data); return; }
if (data && data.length > 0) {
var model = eval('(' + data + ')');
for (var key in model) {
vue.model[key] = model[key];
}
}
});

2.3传递json的写法

                var model = String.toSerialize(vue.model);//.replace(/\"/g,"'");
myPost("orgList.aspx/Save","{value: '"+model+"'}", function (isSuccess, data) {//当传递的是对象的时候,一定要保证将对象转换为字符串
if (isSuccess < 0) { layer.msg(data); return; }
if (data == 1) {
//重新加载控件
GetPowerTree();
clearData();
layer.msg("保存成功!");
}
else if (data == -1) {
layer.msg("保存失败!");
}
else if (data == -2) {
layer.msg("此机构已存在!");
}
});

3.1 无参数后台接收方法

        [WebMethod]
public static string GetOrgList()
{
DataTable dt = bll.GetList("1=1").Tables[0];
return JsonHelper.DataTableToJSON(dt);
}

3.2带参数的后台接收方法

       [WebMethod]
public static string GetModel(long ID)
{
Model.Org_Orginfo model = bll.GetModel(ID);
return JsonHelper.ObjectToJSON(model);
}

3.3传递json的后台接收方法

        [WebMethod]
public static string Save(string value)
{
bool succ = false;
Model.Org_Orginfo model = JsonHelper.JSONToObject<Model.Org_Orginfo>(value);
if (model.id < 0)
{
if (bll.Exists($"orgName='{model.orgName}'")) return "-2";
model.Createtime = DateTime.Now;
model.CreateUser = 1;//创建人-------------------------------------
succ = bll.Add(model);
return succ ? "1" : "-1";
}
else
{
if (bll.Exists($"orgName='{model.orgName}' and id={model.id.ToString()}")) return "-2";
succ = bll.Update(model);
return succ ? "1" : "-1";
}
}

参考:http://www.cnblogs.com/huanbia/archive/2013/03/03/2941293.html

https://blog.csdn.net/naruto517308294/article/details/49097493

asp.net ajax传递Json给aspx.cs后台 webmethod方法传递json的更多相关文章

  1. aspx页面前端使用js 调用aspx.cs后台的方法,不回传

    本次使用 Ajax.dll,AjaxPro.dll 两个类库 1.首先添加引用:Ajax.dll,AjaxPro.dll 文件在 Libiary 目录下 2.配置 WebConfig 属性 将 下面2 ...

  2. ajax访问 aspx.cs后台

    --前台$.ajax({ type: "POST", contentType: "application/json", url: "WebForm2. ...

  3. asp.net 分析器错误消息: 文件.aspx.cs”不存在错误

    发布webapplication时后老是报告分析器错误消息: 文件.aspx.cs”不存在错误,差点抓狂,后来在网上搜到原因是: <%@ Page Language="C#" ...

  4. 添加ASP.NET AJAX控件工具集到VS2010的方法

    在VS2010中Ajax控件只有5个,其实还有很多支持AJAX特定功能的服务器控件,微软是将这些控件当作开放源代码项目.所以没有集成到VS2010中.这些AJAX控件被称为ASP.NET AJAX控件 ...

  5. JSON实现序列化dump和dumps方法,JSON实现反序列化loads和load方法

    通过文件操作,我们可以将字符串写入到一个本地文件.但是,如果是一个对象(例如列表.字典.元组等),就无 法直接写入到一个文件里,需要对这个对象进行序列化,然后才能写入到文件里. 设计一套协议,按照某种 ...

  6. asp.net ajax get 调用(和post不一样,直接返回json才行,否则报错;post不能返回json)

    <script type="text/javascript" > $(document).ready(function () { $('#Label1').click( ...

  7. ajax请求aspx.cs后台方法

    前台jquery代码 $(function () { $("#btnfix").click(function () { $.ajax({ type: "post" ...

  8. 【ASP.NET Core】MVC模型绑定——实现同一个API方法兼容JSON和Form-data输入

    在上一篇文章中,老周给大伙伴们大致说了下 MVC 下的模型绑定,今天咱们进行一下细化,先聊聊模型绑定中涉及到的一些组件对象. ------------------------------------- ...

  9. 1、在aspx.cs后台Response.Write()跳转路径,打开新窗口

    1.Response.Write()打开新窗口 Response.Write(" <script type='text/JavaScript'>window.open('&quo ...

随机推荐

  1. Java学习开发第二阶段总结

    第二阶段的学习总结: 在这次学习中虽说任务量是比上次提升了不少.但大部分的内容都于C语言相同或者类似.学习起来相对来说很轻松.但也在这次学习中学到新的知识 ①Jshell 在cmd中运行Jshell脚 ...

  2. 超详细的CentOS8Linux新功能介绍 镜像iso下载安装

    在这文章中,我们会使用图解的方式演示 CentOS 8 的安装方法. CentOS8中软件和系统管理请参照https://www.cnblogs.com/fusheng11711/p/11809963 ...

  3. Linux系统管理和调优(内存、CPU、磁盘IO、网络)

    系统管理 Author:Rich七哥 查看 CPU 负载相关工具,找出系统中使用 CPU 最多的进程 查看 Memory 运行状态相关工具,找出系统中使用内存最多的进程 查看 IO 运行状态相关工具, ...

  4. ERROR 1709 (HY000): Index column size too large. The maximum column size is 767 bytes.

    MySQL版本5.6.35 在一个长度为512字符的字段上创建unique key报错 CREATE DATABASE dpcs_metadata DEFAULT CHARACTER SET utf8 ...

  5. js and java 中正则表达式的使用

    首先介绍一下js当中的几个关键的正则表达式: 1.js中的正则表达式校验 a: RegExp(如果这里有转义字符的话,需要使用“\\”) var patt1=new RegExp("e&qu ...

  6. RocketMQ吐血总结

    RocketMQ吐血总结 架构 概念模型 最基本的概念模型与扩展后段概念模型 存储模型 RocketMQ吐血总结 User Guide RocketMQ是一款分布式消息中间件,最初是由阿里巴巴消息中间 ...

  7. Android 关于悬浮窗权限的问题

    正常情况下的处理: dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT)以及在清单文件中添加 <use ...

  8. Centos下载安装grafana

    grafana的官网下载:https://grafana.com/grafana/download 一.安装服务端图像呈现组件 # yum install -y fontconfig freetype ...

  9. Ubuntu18.04 安装redis

    Redis是常用基于内存的Key-Value数据库,比Memcache更先进,支持多种数据结构,高效,快速.用Redis可以很轻松解决高并发的数据访问问题:作为实时监控信号处理也非常不错. 安装red ...

  10. Librepilot-创建UAVObject及编译到飞机端和地面站端的步骤

    1. 创建UAVObject描述文件(xx.xml),并存放到\librepilot\shared\uavobjectdefinition目录中:2. 在\librepilot\flight\targ ...