做一个web自定义控件的时候
string javascirpt = "var imgUrl=new Array(); "
+"imgUrl[1]=\""+ds.Tables[0].Rows[0]["navigateurl"]+"\"; "
+"imgUrl[2]=\""+ds.Tables[0].Rows[1]["navigateurl"]+"\"; "
+"imgUrl[3]=\""+ds.Tables[0].Rows[2]["navigateurl"]+"\"; "
output.Write(javascirpt);
这样做的话客户端的页面上对应的javascript代码中是有三个imgUrl
如果在aspx上添加这个控件时,想让有更多的imgUrl,而且可以设定:
做控件的时候我这样试过:
ing picnum;
string javascirpt = "var imgUrl=new Array(); "
+" for(i=1;i<"+picnum.toString()+";i++)"
{ imgUrl[i]=\""+ds.Tables[0].Rows[i]["navigateurl"]+"\"; "}
output.Write(javascirpt);
这样picnum就成了该控件的一个可以设定的属性
但是显然里面Rows[i]的i不对
问题是C#的代码不能读出javascript的i,应该怎么办?
string javascirpt = "var imgUrl=new Array(); "
+"imgUrl[1]=\""+ds.Tables[0].Rows[0]["navigateurl"]+"\"; "
+"imgUrl[2]=\""+ds.Tables[0].Rows[1]["navigateurl"]+"\"; "
+"imgUrl[3]=\""+ds.Tables[0].Rows[2]["navigateurl"]+"\"; "
output.Write(javascirpt);
这样做的话客户端的页面上对应的javascript代码中是有三个imgUrl
如果在aspx上添加这个控件时,想让有更多的imgUrl,而且可以设定:
做控件的时候我这样试过:
ing picnum;
string javascirpt = "var imgUrl=new Array(); "
+" for(i=1;i<"+picnum.toString()+";i++)"
{ imgUrl[i]=\""+ds.Tables[0].Rows[i]["navigateurl"]+"\"; "}
output.Write(javascirpt);
这样picnum就成了该控件的一个可以设定的属性
但是显然里面Rows[i]的i不对
问题是C#的代码不能读出javascript的i,应该怎么办?
StringBuilder js = new StringBuilder();
js.AppendFormat("var imgUrl=new Array({0});\n ", picnum);
for (int i=0; i<picnum;i++)
{
js.AppendFormat("imgUrl[{0}] = '{1}'; \n", i,ds.Tables[0].Rows[i]["navigateurl"] );
}
output.Write(js.ToString());
结贴啦