[英]How to transfer the data from arraylist to JS arraylist (C# webform)
<body>
<script>
var jslist = [];
function updateList() {
var arlist1 = <%=arlist1%>;
jslist = arlist1;
document.getElementById("demo").innerHTML = jslist;
}
window.onload = updateList;
</script>
<form id="form1" runat="server">
<p id="demo"></p>
</form>
</body>
public partial class JSPassData : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
ArrayList arlist1 = new ArrayList()
{
1,
"Bill",
300,
4.5f
};
var serializer = new JavaScriptSerializer();
var json = serializer.Serialize(arlist1);
Page.ClientScript.RegisterArrayDeclaration("arlist1", json);
}
}
继续显示有关 The name 'arlist1' does not exist in the current context (But I have already defined) 的消息
为什么我无法将arraylist 的内容传输到JS?
好吧,据我所知,它确实有效!
但是,话又说回来,.net ArrayList 很旧,与 JavaScript 的关系为零。
如果将 .net ArrayList 转换为序列化的 ojbect,则会得到:
<script type="text/javascript">
//<![CDATA[
var arlist1 = new Array([1,"Bill",300,4.5]);
//]]>
</script>
所以,请注意为什么要在其中放置 // 注释。
但看起来非常接近!!!
我们有这个:
var arlist1 = new Array([1,"Bill",300,4.5]);
这意味着我们有一个数组,元素 0 作为一个数组!!!
所以,让我们把这段代码放在我们的页面上:
<asp:Button ID="Button1" runat="server" Text="Create the array" OnClick="Button1_Click" />
<br />
<asp:Button ID="cmdShow" runat="server" Text="Show Array"
OnClientClick="showvalues();return false" />
<script>
function showvalues() {
myOut = $('#OutPutArea')
s = "array count size = "
s += arlist1[0].length + "<br/>"
// display all the elements
s += "============<br/>"
for (i = 0; i < arlist1[0].length; i++) {
s += arlist1[0][i] + "<br/>"
}
myOut.html(s)
}
</script>
<br />
<div id="OutPutArea">
</div>
背后的代码是这样的:
protected void Button1_Click(object sender, EventArgs e)
{
ArrayList myList = new ArrayList()
{
1,
"Bill",
300,
4.5f
};
var serializer = new JavaScriptSerializer();
var json = serializer.Serialize(myList);
Page.ClientScript.RegisterArrayDeclaration("arlist1", json);
}
因此,我们将单击第一个按钮(生成数组 - 服务器端代码)。
然后我们将单击运行客户端代码的按钮 2 (cmdShow),因此我们看到/得到:
所以,你所拥有的似乎工作得很好。 但是,如前所述,使用 ListArray 实际上会序列化为一个元素的 js 数组,而那个元素(第一个元素 [0])只是一个数组。
我的意思是,您可以将数组的每个元素作为一个数组(数组的数组在这里是完全合法的)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.