web-dev-qa-db-ja.com

Page_Load関数で設定されるasp.netの変数値を表示する方法

データベースから取得した変数があり、この変数をhtmlの間にあるaspxページに出力します。私はそれを公開しようとしましたが、それはいくつかのエラーを示しています、そのaspxページのページロード機能で変数セットを使用するにはどうすればよいですか?

25
pahnin

最初の方法

変数を表示するポイントにリテラルコントロールを配置し、この値をリテラルコントロールにPageLoadで設定します。

<asp:Literal runat="server" id="txtValueA" EnableViewState="false" />

そしてコードビハインド。

txtValueA.Text = "one of the basic";

これにより、レンダリングしようとするものをより詳細に制御できます。

第二の方法

もう1つの方法は、ページをレンダリングするときにあなたが言うようにそれを公開し、印刷することです。これは別の方法ですが、より良い方法ではありません。

public string cMyValue = "some string here";

およびaspxページ

<%=cMyValue%>

これにより、実行時にページがレンダリングされるときにパラメーターを取得し、クライアントで実行時に送信します。 更新パネル内でこの方法を試してみると、更新は失敗します更新パネルはページ全体を読み取って再度レンダリングすることはできず、コードビハインドのみをレンダリングするためです。

この方法を避け、実際に必要な場合にのみ使用してください。これは、ページをレンダリングしてページを変更しようとする瞬間にコードを呼び出すためです...

この方法を使用するアイデアの1つは、実行したい追加の計算があり、コンテンツをフラッシュしてから、追加の時間コストで関数を呼び出す場合です。例えば。

<%
  Response.Flush();
  Response.Write(CallATimeConsumeFunctionThatReturnString());
%>
51
Aristos