asp.net如何获取js中的Array,在线等 Ajax.Utility.RegisterTypeForAjax(typeof(...)); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用Ajax吗?可以说的具体点吗,我对ajax不是很了解 还有我的环境是asp.net 2.0的 http://www.xrss.cn/Dev/AJAX/2007102217069.Html 你可以考虑试试 jsonhttp://blog.csdn.net/SeerMi/archive/2008/04/10/2276183.aspx不知道.net 2.0的默认有没有相关的东西 用ajax可以,用.net的callback也可以(实际就是ajax), 把数组组成字符串提交回去也可以. JS是在客户端.C#是在服务端...楼主要搞清楚最基本的概念...客户端的东西必须要提交了才会到服务端....提交的方式很多种.POST,GET,AJAX 自己写这个中转层.把数组post到业务层去,事实上可以直接把这个三维数组传到中间层的相关赋值再交给业务层去做.ls的ds都说到了,其实通俗点就是一个三层小结构 把js里的数值赋值给页面的隐藏控件,通过post传递给c#,我觉得9楼的很有见地,一针见血,首先你要搞清楚概念,客户端无法直接向服务器传值的,要通过中间层。 我只知道把这个3维数组转换成字符串,放到hiddenfield传回服务器端,请问大家有什么好方法把3维数据的结构传回来,可以方便的用a[1][2][3]的方式访问? http://www.codingforums.com/archive/index.php/t-8104.html 方法1:用服务端控件。把数组处理为字符串写到一个服务端控件(runat="serve"),这样控件可以帮你完成提交,后台获取到字符串后就可以重新解析为数组。方法2:用AJAX。把数组处理为字符串使用Ajax提交到后台,在后台代码中用request.QueryString或request.Parms获取。推荐使用第二种方法。以下代码已测试,可供参考<html><head><title></title></head><script type="text/javascript">var aArr=[["a1","a2"],["b1","b2"],["c"]];//要传递的二维数组var str="";for(var i=0;i<=aArr.length-1;i++)//将数组处理为字符串{ if(aArr[i].length && aArr[i].push) { for(var j=0;j<=aArr[i].length-1;j++) { str+=aArr[i][j]; if(j!=aArr[i].length-1) str+=","; } } else {str+=aArr[i];} if(i!=aArr.length-1) str+=";";}function loadXMLDoc(){var xmlhttp;if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest();}else{ xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}xmlhttp.onreadystatechange=function(){ if (xmlhttp.readyState==4 && xmlhttp.status==200) { alert(xmlhttp.responseText); }}xmlhttp.open("post","other.aspx?str="+str+"&type=arr",true);//str为传递的字符串,type为设置的标志xmlhttp.send();}</script><body><button id='btn' type="button" onclick="loadXMLDoc()">AJAX</button></body></html>后台代码: public partial class other : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (Request.QueryString["type"] == "arr")//根据在url中设置的标志判断是否是匹配的回传 { string getString = Request.QueryString["str"];//getString即获取到的字符串 Response.Write(getString);//将获取到的字符串再写往客服端 Response.End(); } } } 弱弱的问下,这个如何实现... FIELDTERMINATOR = ' ', ROWTERMINATOR = '\n' ) asp.net能访问JSP创建的cookies吗 小妹发了个帖子,不知道怎么给分,各位帮忙! Asp.net文件编程问题. html后缀和目录后缀,哪个更容易收录? 自定义控件的处理事件问题,急!!! net_lover(孟子E章) saucer(思归) 请进。 请问属性列表? 如何检测一个网页中的链接不存在 什么是IDE啊?? 怎样获取上一页url
客户端的东西必须要提交了才会到服务端....提交的方式很多种.POST,GET,AJAX
相关赋值再交给业务层去做.ls的ds都说到了,其实通俗点就是一个三层小结构
方法2:用AJAX。把数组处理为字符串使用Ajax提交到后台,在后台代码中用request.QueryString或request.Parms获取。
推荐使用第二种方法。
以下代码已测试,可供参考
<html>
<head>
<title></title>
</head>
<script type="text/javascript">
var aArr=[["a1","a2"],["b1","b2"],["c"]];//要传递的二维数组
var str="";
for(var i=0;i<=aArr.length-1;i++)//将数组处理为字符串
{
if(aArr[i].length && aArr[i].push)
{
for(var j=0;j<=aArr[i].length-1;j++)
{
str+=aArr[i][j];
if(j!=aArr[i].length-1) str+=",";
}
}
else
{str+=aArr[i];}
if(i!=aArr.length-1) str+=";";
}
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
alert(xmlhttp.responseText);
}
}
xmlhttp.open("post","other.aspx?str="+str+"&type=arr",true);//str为传递的字符串,type为设置的标志
xmlhttp.send();
}
</script>
<body>
<button id='btn' type="button" onclick="loadXMLDoc()">AJAX</button></body>
</html>后台代码:
public partial class other : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["type"] == "arr")//根据在url中设置的标志判断是否是匹配的回传
{
string getString = Request.QueryString["str"];//getString即获取到的字符串
Response.Write(getString);//将获取到的字符串再写往客服端
Response.End();
}
}
}