フォーラムには多くのASP.NETコントロールがあります。ブラウザとポストバックで値を変更した場合。C#に表示されるまでに2回のポストバックが必要ですが、これはなぜですか?
質問する
1654 次
3 に答える
3
コントロールを再設定する前に値を保存していますか?そうでない場合は、コントロールに古い値が表示されている可能性があります。その後、保存します。そのため、変更が表示されるのは2回目のポストバックとその後のレンダリングまでです。
于 2012-07-27T20:35:10.633 に答える
0
変更を保存した後、必ずBindingメソッドを再度呼び出しますか?そうでない場合、ページはポストバックされますが、変更を保存する前に持っていた元のViewStateを使用します。典型的なプロセスは次のようになります。
// In your page load
if (!Page.IsPostBack())
{
BindData(); // This calls the binding method the first time you hit the page.
}
// In your button click event
if (Page.IsValid())
{
UpdateData();
BindData(); // If you don't call this method, you'll post back, but not rebind.
}
// In your BindData method
txtThis.Text = data.this;
txtThat.Text = data.that;
于 2012-07-27T20:41:59.797 に答える
0
Page_Loadに到達する前にデータを更新するイベントでコントロールをリロードしていたことが判明しました。
于 2012-07-28T18:12:19.350 に答える