我正在使用ASP.NET并且有一个字符串数组,我想将此数组传递给jQuery。我怎么能这样做?
我尝试过以下但是没有用。我已经记录了我的数组,它已满,所以数组不是问题。
<script>
var imagesSrc = '<%=images%>';
for (var i = 0; i < imagesSrc.length; i++) {
document.getElementById("image" + ((i + 1).toString())).src = "images/" + imagesSrc[i] + ".jpg";
}
</script>
我已经为我的元素增加了数字ID,因此它们与选择器"image" + ((i + 1).toString())"
如果我使用它,最后一件事就可以了。
document.getElementById("image" + ((i + 1).toString())).src = "images/" + "muppets" + ".jpg";
答案 0 :(得分:1)
在图像服务器端变量中使用逗号分隔值。例如,您要使用的图像名称是image1,image2 ... imageN然后使用
受保护的字符串图像=&#34; image1,image2 ... imageN&#34 ;; // c#代码隐藏
并且在javascript代码中使用split函数来分割逗号分隔值,比如
<script>
var imagesSrc = '<%=images%>'.split(",");
for (var i = 0; i < imagesSrc.length; i++) {
document.getElementById("image" + ((i + 1).toString())).src = "images/" + imagesSrc[i] + ".jpg";
}
</script>
你准备好了。 享受编码,如果它解决了你的问题,请将其标记为答案。
答案 1 :(得分:0)
尝试在JavaScript中对列表字符串进行硬编码。如果它仍然中断,问题不是数组,而是其他东西
例如,您可能在元素存在之前执行getElementById ..在这种情况下,此代码需要包装在“on ready ready”事件中。或者,页面上可能存在javascript错误正在停止执行。
答案 2 :(得分:0)
我认为你不能直接从你的代码隐藏传递数组到有效的javascript。如何将数组分配给分隔的字符串,然后使用split()
在javascript中创建数组。
这样的事情:
<强>代码隐藏:强>
public partial class TestPage: System.Web.UI.Page
{
public string MyCSV { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
string csv = "";
foreach (var itm in myarray) //array created elsewhere
{
csv = csv + loc + ",";
}
MyCSV = csv.Substring(0, csv.Length - 1); //trailing comma
}
}
<强> ASPX:强>
<script type="text/javascript">
var csvstring = '<%= MyCSV %>';
var csvArray = csvstring.split(',');
//do stuff with array
</script>