小妹请教前辈们向Javascript传递值的问题!

wangtiantian23 2010-03-25 09:41:21
我做了一个页面,我想从cs代码里像页面里传递值。

可是总提示我错误!取不到值,这是为什么!

Default.aspx.cs

public ArrayList array;
public int forcount;
protected void Page_Load(object sender, EventArgs e)
{
for (int i = 0; i < 10; i++)
{
picArray.Add(i);
forcount++;
}
}

Default.aspx

<script type="text/javascript">
var forcount=<%# forcount %>;
var array=<%# array%>
alert(forcount);
</script>


请各位前辈帮我指正
...全文
265 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
happy664618843 2010-03-25
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 sandy945 的回复:]

HTML code

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
var forcount=<%= forcount %>;
var array=[<%= arrayStr%>]……
[/Quote]
阿非 2010-03-25
  • 打赏
  • 举报
回复
不是浏览器的错误,你现在怎么写的
wangtiantian23 2010-03-25
  • 打赏
  • 举报
回复
我用DataBind(); 了!

可是还是提示我
但是页面报错!提示缺少]

是不是浏览器的问题!我是IE8
阿非 2010-03-25
  • 打赏
  • 举报
回复

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
var forcount=<%= forcount %>;
var array=[<%= arrayStr%>];
alert(array.length);

var forcount1=<%# forcount %>;
var array1=[<%# arrayStr%>];
alert(array1.length);
</script>

</head>
<body>
</body>
</html>



protected string arrayStr = string.Empty;
protected int forcount;


protected void Page_Load(object sender, EventArgs e)
{
for (int i = 0; i < 10; i++)
{
arrayStr += i.ToString() + ",";
forcount++;
}

arrayStr = arrayStr.TrimEnd(',');

DataBind();
}


<%# %> 要和 DataBind(); 一起使用
鸭梨山大帝 2010-03-25
  • 打赏
  • 举报
回复
javascript不认.NET中的ArrayList的.

[Quote=引用 11 楼 wangtiantian23 的回复:]
9楼前辈!
protected string arrayStr = string.Empty;
不能生成一个ArrayList用吗!
[/Quote]
wangtiantian23 2010-03-25
  • 打赏
  • 举报
回复
不对!我就是照着以上方法写的!
我在把我的方法贴出来!
public string picArray = string.Empty;
protected void Page_Load(object sender, EventArgs e)
{
for(int i=0;i<10;i++)
{
picArray += i.ToString() + ",";
}
}

<script type="text/javascript">
var forcount=<%# forcount %>;
var array=[<%# array%>];
alert(array.length);
</script>

这样alert显示是0, HTML打印出来是var array=[];

如果我换一种方法:
var array=[<%= array%>];
HTML打印出来是var array=[0,1,2,3,4];
但是页面报错!提示缺少]
小生我怕怕 2010-03-25
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 sandy945 的回复:]
引用 4 楼 wangtiantian23 的回复:

数组应该怎么传递啊!
var picArray=<%=picArray%>;

这样不对啊!

不好意思,没看到是数组。

数组不能这样写

如下:


C# code


protected string arrayStr = string.Empty;
protected int forcount;
……
[/Quote]
就这个了!!
阿非 2010-03-25
  • 打赏
  • 举报
回复
?
wangtiantian23 2010-03-25
  • 打赏
  • 举报
回复
9楼前辈!
protected string arrayStr = string.Empty;
不能生成一个ArrayList用吗!
a12321321321312321 2010-03-25
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 sandy945 的回复:]
引用 4 楼 wangtiantian23 的回复:

数组应该怎么传递啊!
var picArray=<%=picArray%>;

这样不对啊!

不好意思,没看到是数组。

数组不能这样写

如下:


C# code


protected string arrayStr = string.Empty;
protected int forcount;
……
[/Quote]
同意
阿非 2010-03-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wangtiantian23 的回复:]

数组应该怎么传递啊!
var picArray=<%=picArray%>;

这样不对啊!
[/Quote]
不好意思,没看到是数组。

数组不能这样写

如下:



protected string arrayStr = string.Empty;
protected int forcount;

protected void Page_Load(object sender, EventArgs e)
{
for (int i = 0; i < 10; i++)
{
arrayStr +=i.ToString()+",";
forcount++;
}

arrayStr = arrayStr.TrimEnd(',');

}




<script type="text/javascript">
var forcount=<%# forcount %>;
var array=[<%# array%>];
alert(forcount);
</script>


wangtiantian23 2010-03-25
  • 打赏
  • 举报
回复
不行我试过几种方法都传递Array是不行的!
方法一:
var picArray=new Array(<%=picArray%>);
错误: 'System' 未定义
方法二:
var picArray=new Array(<%#picArray%>);
不报错!但是
alert(picArray.length); 打印出来是0显然不对!
方法三:
var picArray=<%#picArray%>;
提示语法错误!
HTML 显示结果是var picArray=;
方法四:
var picArray=<%=picArray%>;
错误: 'System' 未定义
HTML 显示结果是var picArray=System.Collections.ArrayList;
Fibona 2010-03-25
  • 打赏
  • 举报
回复



public ArrayList array;
public int forcount;
protected void Page_Load(object sender, EventArgs e)
{
sb.Append("<script type=\"text/javascript\">");
sb.Append(System.Environment.NewLine);
sb.Append(" var array=new Array();");
for (int i = 0; i < 10; i++)
{
picArray.Add(i);
sb.Append("array["+i+"]='"+i+"';");
forcount++;
}
sb.Append("var forcount='"+forcount+"'; ");
sb.Append("</script>");
this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), Guid.NewGuid().ToString(), sb.ToString());

}


//传数组,为什么不直接这样输出js数组呢
夺命胖子 2010-03-25
  • 打赏
  • 举报
回复
public ArrayList array;

能直接这样?不清楚,没试过

var array=<%# array%>


public string array;
public int forcount;
protected void Page_Load(object sender, EventArgs e)
{
for (int i = 0; i < 10; i++)
{
array+=i.ToString()+",";
forcount++;
}
if (!string.IsNullOrEmpty(array))
{
array = array.Substring(0, array.Length - 2);
}
}





<script type="text/javascript">
var forcount=<%# forcount %>;
var array=new Array(<%# array%>);
alert(forcount);
</script>


wangtiantian23 2010-03-25
  • 打赏
  • 举报
回复
在页面里给我打印出
var picArray= System.Collections.ArrayList;
wangtiantian23 2010-03-25
  • 打赏
  • 举报
回复
数组应该怎么传递啊!
var picArray=<%=picArray%>;

这样不对啊!
阿非 2010-03-25
  • 打赏
  • 举报
回复
var forcount=<%# forcount %>;
var array=<%# array%>

=>

var forcount=<%= forcount %>;
var array=<%= array%>

or

for (int i = 0; i < 10; i++)
{
picArray.Add(i);
forcount++;
}

=>

for (int i = 0; i < 10; i++)
{
picArray.Add(i);
forcount++;
}
DataBind();

小_虎 2010-03-25
  • 打赏
  • 举报
回复
=<%# forcount %>;

--》

=<%= forcount %>;
ivws_19 2010-03-25
  • 打赏
  • 举报
回复
<%# --> <%=
Jing3_zhang 2010-03-25
  • 打赏
  • 举报
回复
菜鸟,路过。
加载更多回复(5)

62,073

社区成员

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

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

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

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