問題タブ [loadviewstate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2646 参照

asp.net - ユーザー コントロールで LoadViewState が発生しない

リピーターにネストされたユーザーコントロールがあります。ユーザーコントロール内には別のリピーターがあり、その中にパネルがあります。

ユーザー コントロールの LoadViewState イベントをオーバーライドし、パネルにコントロールを動的に追加しようとしています。ビューステートが読み込まれる前に動的コントロールが追加されるように、LoadViewState でそれを行いたいので、ポストバック後に値を保持します。

何らかの理由で、ユーザー コントロール (ascx) の LoadViewState イベントが発生しません。強制的に発火させる方法はありますか、それとも別の方法がありますか? ユーザー コントロールのリピーター データ バインド イベントを除外しました。まだ。

0 投票する
1 に答える
1702 参照

asp.net - データ コントロールの ViewState データを明示的に再読み込みするように asp.NET を強制することはできますか?

asp.net ライフサイクル階層に関して問題があります。

基本的に、GridView を含むユーザー コントロールが 1 つあります。この GridView は、コントロールのパブリック プロパティに基づいて動的に生成されます (以下の簡略化されたコードでは Parameter という名前です)。

このコントロールを aspx ページに挿入し、その Parameter プロパティを設定して DataBind(Parameter) を呼び出すと、すべて問題ありません。GridView が生成され、UI に入力されます。

ページをポストバックすると問題が発生します。コントロールの ViewState のデータを使用して GridView を設定できるように、GridView 構造を再生成する必要があります。その内容を達成できるように。ただし、GridView 構造が動的に生成され、それに設定された Parameter プロパティに基づいている限り、これは不可能です。ユーザー コントロールの OnInit はページの OnInit の前に呼び出されるため、GridView 構造体の生成後に Parameter プロパティが設定されます。その結果、最終的に空の Gridview が得られます。

ここにコードを簡単に示します。

これを克服する方法を教えてもらえますか?

明示的に asp.NET にグリッドビューの ViewState を再読み込みさせることはできますか?

ページHomePage.aspxには、このような方法でOnInit イベント ハンドラーがあり、ユーザー コントロールctlMyUSerControlプロパティを設定します。

そしてctlMyUserControlの OnInit に

0 投票する
0 に答える
191 参照

c#-4.0 - PostBack 以外のページで viewstate からコントロールの状態を設定する方法

現在、ページのビューステートをキャッシュに保存しています。

ビューステートが PostBack の値とコントロールを再バインドしていることがわかります。

ポストバックで正常に動作しています。

ただし、非ポストバックページで状態を再作成する必要があります。キャッシュからビューステートをロードするために使用しているキーはクエリ文字列で渡されますが、非ポストでビューステートを強制的にロードする方法を見つけることができません裏ページ。

ポストバックされていないページでビューステートを強制的にロードする方法はありますか?

0 投票する
0 に答える
160 参照

asp.net - Asp.Net UserControl が ViewState で "F" を取得するのはなぜですか?

私は最近まで UserControls をあまり必要としませんでした。理由が長すぎて、このスレッドの範囲外です。

UserControls を動的にロードする必要があると言えます。UserControls をロードする変数は、カスタム サーバー コントロールのプロパティに格納されます。これはもちろん ViewState にあります。

私の問題は、他の多くの開発者が表明しているように、UserControl が ViewState を保持しないことです! すべての最良の意見は、ページ ライフ サイクルの初期段階で UserContol をロードすることです。しかし、CustomServerControl の ViewState から UserControl をロードすると、ViewState が初期化されていないため、Init フェーズでこれを行うことができません。

私を夢中にさせているのは、Asp Framwork がイベント (ボタンのクリックなど) を UserControl にルーティングすることですが、ViewState を読み込むほどスマートではありません。

これは単なる暴言かもしれませんが、この単純な質問に対する答えを見つけることができれば幸いです。

「Page_Load フェーズで読み込みが必要な場合、UserControl が他の WebControl のように ViewState を保持できないのはなぜですか?」

0 投票する
1 に答える
92 参照

c# - LoadViewStateでボタンがクリックされたかどうかを確認するには?

LoadViewStateでボタンがクリックされたかどうかを確認したい

コード:

何か案は?

0 投票する
2 に答える
115 参照

c# - LoadViewStateでオブジェクト参照null?

LoadViewStateでボタンがクリックされたかどうかを確認すると

このエラーが発生しました

eTarget = Request.Params["btnAddVisa"].ToString();以下のコードでは、 null エラーが発生したときに [エクスペリエンスの追加] ボタンをクリックした場合

コード:

何か案は?前もって感謝します

0 投票する
1 に答える
2815 参照

c# - ユーザーコントロールドロップダウンリストで値をバインドする方法は?

ユーザーコントロールドロップダウンリストの値をバインドします

しかし、ユーザーコントロール行を追加すると、時間値がドロップダウンリストにバインドされません

コード:

.ascx

.aspx

.aspx.cs

下の画像では、追加ボタンをクリックすると行が追加されますが、2番目の値はドロップダウンリストにバインドされていません

ここに画像の説明を入力

何か案は?前もって感謝します。