如何将后代代码中的一个字符串数组传递到JS变量中,我是这么写的
JS
$(function() {
var arr = []
var temp=<%=Imgurl %>;
for (var x=temp.Length-1; x>=0; x--)
if(temp[x].ToString()=='' )
{
continue;
}
arr.push(temp[x].ToString() %>);
$("#click").threesixty({images:arr, method:'click', 'cycle':1, auto:true});
}
);其中Imgurl是后台定义的一字符串数组后台
public string [] Imgurl; public void SetProduct(string paramProductID)
{
ProductsManager myProduct = new ProductsManager();
DataSet myDs = myProduct.searchProduct(null, paramProductID);
if (myDs.Tables[0].Rows.Count > 0)
{
Imgurl = myDs.Tables[0].Rows[0]["ImgUrl"].ToString().Split('|');
}
}运行时总是报var temp=<%=Imgurl %>;出错,额,该咋办啊
JS
$(function() {
var arr = []
var temp=<%=Imgurl %>;
for (var x=temp.Length-1; x>=0; x--)
if(temp[x].ToString()=='' )
{
continue;
}
arr.push(temp[x].ToString() %>);
$("#click").threesixty({images:arr, method:'click', 'cycle':1, auto:true});
}
);其中Imgurl是后台定义的一字符串数组后台
public string [] Imgurl; public void SetProduct(string paramProductID)
{
ProductsManager myProduct = new ProductsManager();
DataSet myDs = myProduct.searchProduct(null, paramProductID);
if (myDs.Tables[0].Rows.Count > 0)
{
Imgurl = myDs.Tables[0].Rows[0]["ImgUrl"].ToString().Split('|');
}
}运行时总是报var temp=<%=Imgurl %>;出错,额,该咋办啊
/// <summary>
/// 加载会员银行
/// </summary>
private void LoadBanks()
{
UserBankAccount bank = new UserBankAccount();
DataTable data = bank.GetAccounts(id); string js = "<script type='text/javascript'>var currBanks = new Array();";
if (data != null && data.Rows.Count > 0)
{
for (int i = 0; i < data.Rows.Count; i++)
{
DataRow row = data.Rows[i];
js += string.Format(@"currBanks[{0}]=new Array('{1}','{2}','{3}','{4}');",
i.ToString(),
row["id"].ToString(),
row["bank"].ToString(),
row["account"].ToString(),
row["btype"].ToString());
}
}
js += "</script>"; ClientScript.RegisterClientScriptBlock(this.GetType(), "LoadBanks", js);
}
后台:定义数组并赋值
public string [] Imgurl;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
SetProduct();
}
}
public void SetProduct()
{
StringBuilder js = new StringBuilder();
js.Append("<script type='text/javascript'>var currBanks = new Array();"); ProductsManager myProduct = new ProductsManager();
DataSet myDs = myProduct.searchProduct(null, "5");
if (myDs.Tables[0].Rows.Count > 0)
{
Imgurl = myDs.Tables[0].Rows[0]["ImgUrl"].ToString().Split('|');
} for (int i = Imgurl.Length - 1; i >= 0; i--)
{
if (Imgurl[i] == "")
{
continue;
}
js.Append(string.Format(@"currBanks[{0}]=new Array('{1}');",
i.ToString(),
Imgurl[i].ToString()));
}
js.Append("</script>"); ClientScript.RegisterClientScriptBlock(this.GetType(), "SetProduct", js.ToString());
}然后再前台
<script type="text/javascript">
$(function()
{
var arr = []
for (var x=currBanks.length-1; x>=0; x--)
arr.push(currBanks[x]);
$('#click').threesixty(
{
images:arr, method:'click', 'cycle':1, auto:true
}
);
}
);
</script>
运行时就提示currBanks未定义
可还是没达到我要效果,额,可
首先,var temp='<%= Imgurl %>'; 这里要加引号
其次,public static string [] Imgurl;这里要静态变量
最后,你有没有执行过setproduct函数啊?