[英]How do i pass an array from .cs file to .aspx
我有一個名為“Home.aspx”的網絡表單。
在Home.aspx.cs中,我創建了一個名為myArray的數組。
我想在Home.aspx中使用這個數組來生成一個詞雲。 如下所示:
<script>
$('#wordcloud').jQCloud(myArray,{shape: 'rectangular'});
</script>
有人可以幫助我解決這個問題。
首先,您不希望將C#生成的數組放到您的aspx頁面上,因為該數組是C#對象,並且需要將javascript作為文本發送。 您希望將數組的字符串輸出放在頁面上。 因此,您應該在后面的代碼中創建一個字符串作為受保護的屬性,並將數組的字符串放入其中 。
然后,在前端,您可以使用<%= myString %>
將受保護的屬性寫入頁面
有幾種方法可以實現它。
ClientScriptManager.RegisterStartupScript
方法來注冊它,以便JS代碼將在頁面加載時執行。 下面是使用序列化方法的示例。
<%
// create you array here
var myArray= new string[]{"apple", "orange"};
var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
%>
那么你需要的是在JavaScript代碼塊之前將代碼放在ASPX頁面上。
<script>
var myJsArray = <%= serializer.Serialize(myArray) %>;
$('#wordcloud').jQCloud(myJsArray, {shape: 'rectangular'});
</script>
但有一點要記住,服務器端數組對象和客戶端javascript數組是兩個不同的東西。 需要序列化/反序列化以允許數據/數據數組在瀏覽器和Web服務器之間傳遞。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.