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

这正是你告诉它要做的事情。

false作为第二个参数传递使其不会终止当前页面。

于 2013-01-17T14:15:37.187 回答
0

不要给表值等于零...给出像 ds.Tables(0).Rows.Count > 0 这样的验证...这意味着如果给定的登录详细信息是正确的,则表正在保存记录。

于 2013-01-17T14:23:27.223 回答
0

我尝试了所有这些以及更多......我在这里只记下我的解决方案以供后代和我自己以后参考。我在打开大约 6 个 VS 项目时遇到了这个问题,每个项目都在自己的 VS 实例中。一旦我关闭了除了一个项目之外的所有项目,问题就消失了。我不确定导致这个特定问题的其他项目是什么,但显然 VS 不喜欢自己打开太多。

于 2018-06-19T13:40:13.170 回答