私はまだ ASP.Net にかなり慣れていないため、これがばかげた質問である場合はご容赦ください。
ページの読み込み時にプログレス メーターを表示した後、ページの実際の読み込みを処理するためにポスト バックを行います。ポストバック中、特定の基準に基づいて、ページ上の特定のリンクを無効にしています。ただし、リンクは無効になりません。リンクを (デバッグを通じて) 初めて強制的に無効にすると、リンクが正常に無効になることに気付きました。ただし、その時点で、無効化を決定するために必要なデータがありません。
コードビハインド
If (Not IsCallback) Then
pnlLoading.Visible = True
pnlQuote1.Visible = False
Else
pnlLoading.Visible = False
pnlQuote1.Visible = True
<Load data from DB and web service>
<Build page>
If (<Some Criteria>) Then
somelink.Disable = True
End If
End If
JavaScript
if (document.getElementById('pnlQuote1') === null) {
ob_post.post(null, 'PerformRating', ratingResult);
}
ob_post.post は、通常のポストバックを実行した後、2 番目のパラメーターで指定されたサーバー メソッドを呼び出す obout js 関数です。次に、3 番目のパラメーターで指定された JavaScript メソッドの呼び出しが続きます。最初のパラメーターは、ポスト バックするページです。null の値は、現在のページに戻ります。
ポストバックは正常に機能しています。すべてのメソッドが正しい順序で呼び出されます。問題を引き起こすコードは、太字のコード ビハインドの下にあります。(somelink.disabled = True は実際にはリンクを無効にしません) 繰り返しますが、リンクを初めてデバッグして強制的に無効にすると、無効になります。これを回避するために私が何をすべきか知っている人はいますか?
ありがとう、GRB