关于jquery alert的问题

liufeng_1988 2010-03-17 08:33:35
如果我的方法返回的是数组类型的。那么我在jquery代码如何调用这个方法,并将返回的值alert

这个是方法:
public string[] GetFilesName()
这个是jquery的代码:
var tab1 = GetFilesName();
alert(tab1);
实践证明这样是不可以的。我该怎么做,请高人指点
我还有个common.js。是作为html页面和cs代码对话用的。
...全文
541 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
马老虎 2010-03-17
  • 打赏
  • 举报
回复
以下代码我测试没问题!


//页面上的ajax方法
//测试 jquery Ajax 返回 JSON
function doAjax_Json()
{
$.ajax({
url:'Default2.aspx',//改成你请求页面的路径
type:'POST',
dataType:'json',
data: "meth=load",
error:function(x){alert(x.status);},

//此处的alert可以修改成循环json中的数据。json相当于数组
success:function(data){alert(data[0].fileName);}
});
}


protected void Page_Load(object sender, EventArgs e)
{
string[] s = GetFilesName();//调用的就是你上面提到的那个方法
//将数组转成json返回
string str = "[";
for (int i = 0; i < s.Length; i++)
{
str += "{'fileName':'"+s[i].ToString()+"'},";
}
str.Substring(0, str.LastIndexOf(','));
str += "]";
Response.Write(str);


}
马老虎 2010-03-17
  • 打赏
  • 举报
回复
晕 我突然想起来了。
jquery貌似不能返回数组。
改成返回json试一试
你等我20分钟 我给写个
liufeng_1988 2010-03-17
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 mmm306306 的回复:]
引用 7 楼 liufeng_1988 的回复:
那个方法是获得文件夹名称的。alert出文件夹的名称

第一:你应该先使用typeof 看看返回是不是数组
第二:如果是数组 alert(tab1.length)看看数组的长度
第三:然后取文件夹名称alert(tab1[i])

如果还不行,那么你再多贴出点代码
[/Quote]
//获取文件夹列表
public string[] GetFilesName()
{
DirectoryInfo dir = new DirectoryInfo(System.Windows.Forms.Application.StartupPath + @"\资源\" + dept + @"\" + calaType);
DirectoryInfo[] files;
try
{
files = dir.GetDirectories();
}
catch (Exception e)
{
return null;
}
string[] filesName;
if (files.Length > 0)
{
filesName = new string[files.Length];
for (int i = 0; i < files.Length; i++)
{
filesName[i] = files[i].Name;
}
return filesName;
}
else
{
return null;
}
}
这个是我的cs代码
我想实现tab的样式,把每个文件夹名称放在li列表里
ljz_761121 2010-03-17
  • 打赏
  • 举报
回复
循环输出数组就行了:
var tab1 = GetFilesName();
for(i=0;i<tab1.length;i++)
{
alert(tb1[i]);
}
马老虎 2010-03-17
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 liufeng_1988 的回复:]
那个方法是获得文件夹名称的。alert出文件夹的名称
[/Quote]
第一:你应该先使用typeof 看看返回是不是数组
第二:如果是数组 alert(tab1.length)看看数组的长度
第三:然后取文件夹名称alert(tab1[i])

如果还不行,那么你再多贴出点代码
諾临風 2010-03-17
  • 打赏
  • 举报
回复
像C#中操作数据一样。。。一个一个的输出!
语言,除了语法,其实道理是差不多的!
liufeng_1988 2010-03-17
  • 打赏
  • 举报
回复
那个方法是获得文件夹名称的。alert出文件夹的名称
马老虎 2010-03-17
  • 打赏
  • 举报
回复
你到底想要alert出什么样的数据??
不能直接alert 数组的
leonbingo 2010-03-17
  • 打赏
  • 举报
回复
用typeof来判断类型吧
leonbingo 2010-03-17
  • 打赏
  • 举报
回复
你首先要判断是不是数组元素啊,js里面有这么几种类型
* Array
* Boolean
* Date
* Math
* Number
* String
* RegExp
* Global

你判断下类型就不就好,如果不是数组你去tb[i]那不肯定错
liufeng_1988 2010-03-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 teerhu 的回复:]
var tab1 = GetFilesName();
for(i=0;i<tab1.length;i++)
{
alert(tb1[i]);
}
[/Quote]
报 缺少对象的错误
_老吴 2010-03-17
  • 打赏
  • 举报
回复
你也可以将数组用toString()或者toLocaleString()方法转换成字符串形式也可以输出的,如
alert(tab1.tostring);
或者alert(tab1.toLocaleString());
teerhu 2010-03-17
  • 打赏
  • 举报
回复
var tab1 = GetFilesName();
for(i=0;i<tab1.length;i++)
{
alert(tb1[i]);
}
liufeng_1988 2010-03-17
  • 打赏
  • 举报
回复
json我不知道哎。郁闷,没有别的方法了吗

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧