"Home.aspx"というWebフォームがあります。.csファイルから.aspxに配列を渡すには
Home.aspx.csでは、myArrayという配列を作成しました。
この配列をHome.aspxで使用して、ワードクラウドを生成したいとします。以下のようなもの :
<script>
$('#wordcloud').jQCloud(myArray,{shape: 'rectangular'});
</script>
誰かがこれを解決する上で私を助けることができます。
"Home.aspx"というWebフォームがあります。.csファイルから.aspxに配列を渡すには
Home.aspx.csでは、myArrayという配列を作成しました。
この配列をHome.aspxで使用して、ワードクラウドを生成したいとします。以下のようなもの :
<script>
$('#wordcloud').jQCloud(myArray,{shape: 'rectangular'});
</script>
誰かがこれを解決する上で私を助けることができます。
まず、C#で生成された配列をaspxページに配置する必要はありません。その配列はC#オブジェクトであり、javascriptをテキストとして送信する必要があるからです。配列の文字列出力をページに配置したいとします。だからあなたのコードの背後に保護されたプロパティとして文字列を作成し、に配列の文字列を配置する必要があります。
その後、フロントエンドに、あなたはそれを達成するためのいくつかの方法があります<%= myString %>
こんにちはジョナサン..返信いただきありがとうございます。あなたはそれを行う方法を教えていただけますか? – ASN
でページ上に保護されたプロパティを書き込むことができます。
ClientScriptManager.RegisterStartupScript
メソッドを使用し コードビハインド(.aspx.csページ)に文字列としてJSコードを作成する必要がありますを意味し 、あなたのための全体のJavaScriptを生成しますそれを登録してください。 ページロード時に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配列は、2つの異なるものです。シリアライゼーション/デシリアライゼーションは、データとデータの配列をブラウザとWebサーバー間で受け渡すために必要です。
あなたはこれまでに行った研究を教えてください。これはむしろ基本的な質問です。実質的にすべてのasp.netプログラムは、その多くがオープンソースであり、あなたが求めているものに似た何かをしなければならない。 –
こんにちはアンドリュー。私はしばらくの間、Googleで検索しました。そして、私はこの質問を.netに新しいものとして尋ねました(それは非常に基本的な質問であることを知っていませんでした).netで多くの経験がありません。 – ASN
この場合は、.netを学習するために使用した学習リソースを参照することをお勧めします。それは非常に早い時期にカバーされるべきです。 asp.netの背後にあるコードとそれがどのように機能するかについて読む。クラス、プロパティメソッド、およびそれらの間の関係が何であるかを理解するためにOOPを読み上げることも役立ちます。最後に、コードのさまざまな部分がロードされ実行されるタイミングと場所を調べます。 .net配列がホストされている場所、JavaScriptが実行される場所、サーバーからの情報がどのようにクライアントに流れるか。それが助けになるはずです。 –