我做了一个页面,我想从cs代码里像页面里传递值。可是总提示我错误!取不到值,这是为什么!Default.aspx.cspublic 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>
请各位前辈帮我指正
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>
请各位前辈帮我指正
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();
var picArray=<%=picArray%>;这样不对啊!
var picArray= System.Collections.ArrayList;
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>
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数组呢
方法一:
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;
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>
protected string arrayStr = string.Empty;
不能生成一个ArrayList用吗!
我在把我的方法贴出来!
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];
但是页面报错!提示缺少]
<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(); 一起使用
但是页面报错!提示缺少]是不是浏览器的问题!我是IE8
protected string arrayStr = string.Empty; protected void Page_Load(object sender, EventArgs e)
{
for (int i = 0; i < 10; i++)
{
arrayStr += i.ToString() + ",";
} arrayStr = arrayStr.TrimEnd(','); DataBind();
} <script type="text/javascript"> var array=[<%= arrayStr%>];
alert(array.length); var array1=[<%# arrayStr%>];
alert(array1.length);
</script>
我现在就这么写的!
就是提示我缺少 ]