-1

サーバー側の変数にアクセスするには、eval を使用して、C# コードで宣言された public プロパティにアクセスできることを知っています。ただし、これは最も安全な方法として推奨されません。java-scriptでサーバー変数にアクセスする最良の方法は何ですか? ASP.Net Web フォームの例を教えてください。

4

1 に答える 1

1

サーバー側の変数は、クライアント側の変数とは異なる宇宙に存在します。この 2 つのユニバースは異なるコンピューター上にあり、それらの間の唯一の通信はページのビューとサーバーへのポスト バックです。

したがって、最初の方法は、html ページのレンダリング時にコード ビハインドから変数を数値として JavaScript に渡すことです。たとえば、次のようになります。

<script>
 var OurVariable = 334;
</script>

多くのオプションがあることをレンダリングするには、たとえば、リテラルを使用して、コードビハインドで次のようにレンダリングできます。

<asp:Literal runat="server" ID="txtScriptOnMe" />

およびコードビハインドについて:

txtScriptOnMe.Text = "<script> var OurVariable = 334; </script>";

これで、実際にクライアント側で 334 を送信できました。JavaScript で変更した後、次のステップはサーバーに新しい番号を送り返すことです。これは、PostBack でのみ、または Ajax Call で、非表示の入力を使用して行うことができます。

たとえば、この入力が<input id="hidden1" type="hidden" runat="server" />あり、javascript を使用すると、その値を変更してサーバー側に送り返し、コード ビハインドから読み取ることができます。コード ビハインドと JavaScript の変数からの通信があります。

たとえば、javascriptで書くことができます

OurVariable = 221;
document.getElementById("<%=hidden1.ClientID%>").value = OurVariable;

それを 221 に変更し、コード ビハインドで送信します

于 2012-12-13T11:46:52.600 に答える