0

なぜこれが機能しないのかわかりません。

ログオンした人が適切なセキュリティを持っていることを確認しています。そうでない場合は、別のページにリダイレクトしたいと考えています。

それらが適切なセキュリティを持っている場合、ページ上の残りのコードは引き続き実行されます。

コードをステップ実行すると、response.redirect が実行されますが、ページは引き続き読み込まれます。

strSQL = "Select * from tblSecurity Where SFID = '" & Right(My.User.Name, 4) & "' and (SecurityLevel = '900' or SecurityLevel = '850')"
ds = objData.SQLExecuteDataset(strSQL, CommandType.Text)
If ds.Tables(0).Rows.Count = 0 Then
    Response.Redirect("~/NotAuthorized.aspx", False)
End If
4

3 に答える 3

7

それはまさにあなたがそうするように言ったことです。

2 番目のパラメーターfalseとして渡すと、現在のページが終了しなくなります。

于 2013-01-17T14:15:37.187 に答える
0

テーブルの値をゼロにしないでください... ds.Tables(0).Rows.Count > 0 のような検証を行います... 指定されたログインの詳細が正しい場合、テーブルがレコードを保持していることを意味します。

于 2013-01-17T14:23:27.223 に答える
0

私はこれをすべて試しました...そして、後世と後で私自身の参照のためにここに私の解決策を記すだけです。それぞれ独自のVSインスタンスで約6つのVSプロジェクトを開いているときに、この問題に遭遇しました。1つのプロジェクトを除くすべてを閉じると、問題はなくなりました。この特定の問題を引き起こした他のプロジェクトが何であったかはわかりませんが、明らかに VS 自体があまりにも多く開いているのが好きではありません。

于 2018-06-19T13:40:13.170 に答える