做一个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,应该怎么办?

解决方案 »

  1.   

    int picnum;
    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());
      

  2.   

    思归MVP果然出手不凡
    结贴啦