0

ASP.NETを使用しており、ウィザードコントロールにラジオボタンがあり、[はい]を選択するとパネルが表示されますが、[いいえ]を選択するとパネルが非表示になります。MaintainScrollPositionOnPostBackをTrueに設定しましたが、ActiveStepChangedイベントによってFalseに変更されるため、[次へ]をクリックして次のウィザードステップを表示すると、ページの上部から開始されます。問題は、[次へ]をクリックした後、最初にラジオボタンをクリックすると、ページの上部にジャンプすることです(最初にラジオボタンをクリックした後は、ページはその位置を保持します)。初めてジャンプするのを防ぐにはどうすればよいですか?

4

3 に答える 3

4

Page.MaintainScrollPositionOnPostBack = trueポストバックで現在の画面位置を維持するように設定します。

これは、JavaScriptなどを使用して自分でこれを実行するよりも簡単です。

于 2010-12-15T22:37:45.870 に答える
2

UpdatePanelにコントロールを配置することで、ページが完全に更新されないようにすることができます。

于 2010-12-15T22:25:43.447 に答える
1

私はこれが答えられたことを知っていますが、私が取り組んでいたプロジェクトにajaxを使用することができません。私は同様の問題を抱えていて、許容できる回避策を見つけました。マスターページもあるページ内にユーザーコントロールがあります。ユーザーコントロールには、ポストバックをトリガーするいくつかのコントロールが下部にある入力フォームがあります。マスターページのメインコンテンツdivは、これをスクロール可能にします(大きすぎるため)。私が見つけた解決策は、ページのフォーカスを、c#コードビハインドのポストバックによってトリガーされるイベントのコントロールに設定することでした。例えば:

protected void cbShip_CheckedChanged(object sender, EventArgs e)    
{
    if (cbShip.Checked)
    {
        pnlShip.Visible = true;
        Page.SetFocus(ddlShipCountry);
    }
    else
    {
        pnlShip.Visible = false;
    }
    return;
}
于 2011-09-07T18:32:01.763 に答える