Ⅰ asp.net ash接收json数组
你可以这样 在JS里面 的url里面设定 data 的值 取个名字,然后在后台用Request["变量名"].toString();得到,数组的话 你把数组组建成一个字符串 在传吧!
Ⅱ asp页面用什么代码接收ajax传过来的json数据
cs.html代码
<!DOCTYPEhtml>
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title>无标题文档</title>
<scriptsrc="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.8.3.min.js"></script>
<script>
functionsaveadd()
{
varxm=$('#xm').val();
varnl=$('#nl').val();
$.ajax({
:"POST",
url:"cs.asp",
data:$('#form1').serialize(),
dataType:"html",//text
success:function(data)
{
//alert(data);
vararr=data.split(',');
for(varxinarr)
{
alert(arr[x]);
}
},
error:function()
{
alert('未知错误');
}
});
}
</script>
</head>
<body>
<formid="form1"name="form1"method="post"action="">
<p>
<label>姓名:
<inputtype="text"name="xm"id="xm"/>
</label>
</p>
<p>
<label>年龄:
<inputtype="text"name="nl"id="nl"/>
</label>
</p>
<p>
<inputtype="button"name="button"id="button"value="提交"onclick="saveadd()"/>
</p>
</form>
</body>
</html>
cs.asp代码
<%@LANGUAGE="VBSCRIPT"CODEPAGE="65001"%>
<%
xm=Request.Form("xm")
nl=Request.Form("nl")
'addorupdatetable
str=xm&","&nl
response.Write(str)
%>
Ⅲ 如何用jquery $.ajax向aspx页面传递json格式数据
处理业务数据,产生JSon数据.代码如下:
protected void Page_Load(object sender, EventArgs e)
{
string u = Request["UserName"];
string p = Request["Password"];
string output = string.Format("'UserName':'{0}','Password':'{1}'", u, p);
Response.Write("[{");
Response.Write(output);
Response.Write("}]");
Response.End();
}
详细:http://www.veryhuo.com/a/view/14293.html
Ⅳ asp页面如何接收ajax传过来的json数据
JS的值是无法直接用ASP获取,JS是属于客户端语言,ASP是服务器端无法直接调用的。
Ⅳ asp.net页面如何接收AJAX传递过来的数组(普通数组和jason数组,两个麻烦都给举个例子)
在.cs文件中,用 Page.Request["参数名"]就可以得到AJAX传递过来的值。
在 asp.net中,无论是普通数组还是JSON数组,都可以先转换成字符串,然后传递过去。asp.net mvc可以直接传对象.
例如:
在JS中:
//这里用的是Jquery的ajax
funcation test()
{
var d = [1, 2, 3]; //数组
var s = d.join(','); //转换成字符串
$.ajax({
url: "要访问的地址",
data: { p: s,n:d }, //p是参数名,s是值
success: function (msg) {
//msg是返回的结果,这里对返回值进行处理
}
});
}
asp.net后台:
public void TestData()
{
string s=Page.Request["p"];//得到ajax传递的参数p的值
string[] d=s.split(',');//转换成字符数组,至于怎么转成整形数组我就不写了。
}
asp.net mvc后台:
public JsonResult TestData(string p,int[] n)
{
string[] d=p.split(',');//转换成字符数组
return Json(new {xxxx});
}
JSON数组和普通数组一样处理,都可以拼成字符串,然后传递
Ⅵ 如何拿到前端传过来的json对象
将数据以json格式传给前端:
function generateDtb() {
//写入
var txtName = document.getElementById("txtName").value;
//创建数组
var dtb = new Array();
//通过循环把数据写入到数组并返回
for (var i = 0; i < firstGroup.length; i++) {
var row = new Object();
row.Name = txtName;
row.fullMoney = firstGroup[i].value;
row.discount = secondGroup[i].value;
dtb.push(row);
}
return dtb;
}
把数组转换成json串传入到后台:
$(function () {
//点击botton1
$("#lbtnOK").click(function () {
var url = "DiscountManger.aspx?ajax=1";
var dtb = generateDtb();
// var strName = document.getElementById("txtName").value;
if (dtb == null)
{ }
else {
//序列化对象
var postdata = JSON.stringify(dtb);
//异步请求
$.post(url, { json: postdata }, function (json) {
if (json) {
jBox.tip("添加成功!", "提示");
location.reload();
}
else {
jBox.tip("添加失败!", "提示");
location.reload();
}
}, "json")
}
});
});
在后台的操作:
首先判断是否需要传输数据
if (!IsPostBack)
{
//判断是否异步请求
if (Request.QueryString["ajax"] == "1")
{
ProcessRequest();
}
在这里进行对数据的处理:
///
/// 处理异步请求
///
private void ProcessRequest()
{
//存入要填写的策略
ArrayList arrDiscount = new ArrayList();
Response.ContentType = "text/html";
string json = Request.Form["json"];
//反序列化DataTable
if (json == null)
{
return;
}
else
{
DataTable newdtb = Json2Dtb(json);
for (int i = 0; i < newdtb.Rows.Count; i++)
{
Entity.StrategyDiscount enStrategyDiscount = new Entity.StrategyDiscount();
//打折方案名
enStrategyDiscount.name = newdtb.Rows[i]["Name"].ToString();
//商店ID
enStrategyDiscount.shopId = long.Parse(LoginInfo.ShopID);
enStrategyDiscount.fullMoney = Convert.ToDecimal(newdtb.Rows[i]["fullMoney"].ToString());
enStrategyDiscount.discount = Convert.ToDecimal(newdtb.Rows[i]["discount"].ToString());
//写入数据到数组
arrDiscount.Add(enStrategyDiscount);
}
//写入数据到数据库
IStrategyBLL strategy = new StrategyBLL();
if (strategy.AddStrategyDiscount(arrDiscount))
{
Response.Write("true");
Response.End();
}
else
{
Response.Write("false");
Response.End();
}
}
这里,我们需要把json转换成datatable
///
/// Json转DataTable
///
///
///
private DataTable Json2Dtb(string json)
{
JavaScriptSerializer jss = new JavaScriptSerializer();
ArrayList dic = jss.Deserialize(json);
DataTable dtb = new DataTable();
if (dic.Count > 0)
{
foreach (Dictionary drow in dic)
{
if (dtb.Columns.Count == 0)
{
foreach (string key in drow.Keys)
{
dtb.Columns.Add(key, drow[key].GetType());
}
}
DataRow row = dtb.NewRow();
foreach (string key in drow.Keys)
{
row[key] = drow[key];
}
dtb.Rows.Add(row);
}
}
return dtb;
}
这样,就可以把数据无刷新的写入到数据库。
当然,如果我们有一个从数据库读取的datatable,如果通过json显示在前台呢。
首先,我们需要把datatable转换为json数据
///
/// DataTable转Json
///
///
///
private string Dtb2Json(DataTable dtb)
{
JavaScriptSerializer jss = new JavaScriptSerializer();
ArrayList dic = new ArrayList();
foreach (DataRow row in dtb.Rows)
{
Dictionary drow = new Dictionary();
foreach (DataColumn col in dtb.Columns)
{
drow.Add(col.ColumnName, row[col.ColumnName]);
}
dic.Add(drow);
}
return jss.Serialize(dic);
}
然后写回到前台
///
/// 处理异步请求
///
private void ProcessRequest()
{
Response.ContentType = "text/html";
string json = Request.Form["json"];
//反序列化DataTable
DataTable newdtb = Json2Dtb(json);
//序列化DataTable为JSON
string back = Dtb2Json(newdtb);
Response.Write(back);
Response.End();
}
在前台接受显示:
$(function() {
//点击botton1
$("#botton1").click(function() {
createTable(json);
});
});
//显示Json中的数据
function createTable(json) {
var table = $("");
for (var i = 0; i < json.length; i++) {
o1 = json[i];
var row = $("");
for (key in o1) {
var td = $("");
td.text(o1[key].toString());
td.appendTo(row);
}
row.appendTo(table);
}
table.appendTo($("#back"));
}
Ⅶ 后台应该如何取到前端传来的json对象
可先转成字符串dataForm=dataForm.toString();
后端接收:StringdataForm=request.getParameter("dataForm");
假如有Test这个类,里面有hello,hello2
那么就可以将回json格式的数据转换成数组答格式
List<Test>qualificationList=JSONArray.parseArray(HtmlUtils.htmlUnescape(dataForm),Test.class);
Ⅷ 麻烦看下我在aspx.cs上面写的代码,输出到json到底是什么
1、首先服务端返回的是json格式的字符串,因为进行了json序列化;
2、客户端ajax获取到的数据是json对象还是json字符串,这要看ajax的dataType属性设置的是否为“json”;
$.ajax({
url:url,
type:'get',
dataType:'json',
cache:false,
success:function(data){
//此处的data就是json对象,可以直接使用;
}
});
3、ajax中的success方法中的data变量,里面就是服务端在数据库中查询出来的数据;
data是个数组,里面有多条数据;
Ⅸ vb.net做web序列化的json串为什么html前台不接受,总报json串错误
你的json串本身没有问题,错就错在Response.Write(json),这有什么意义呢?要解决问题不妨把源码贴出来,看看你到底要干吗。
Ⅹ asp.net怎么接收post方式传过来的json格式
输入String propertyId = request.getParameterValues(propertyId);或String propertyId = request.getParameterValues(propertyId );
这两种方法都可以,只是适用的的方式不同。