gpt4 book ai didi

asp.net vb codebehind try ... catch 问题

转载 作者:行者123 更新时间:2023-12-02 17:19:21 26 4
gpt4 key购买 nike

在代码隐藏中我有以下内容:

Protected Sub btnSubmit_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnSubmit.Click
Dim sql As String
Dim conn As OleDbConnection
Dim cmd As OleDbDataAdapter
Dim ds As DataSet
Dim tbl As DataTable

conn = New OleDbConnection("Provider=SQLOLEDB;Data Source=(local);Initial Catalog='library';Integrated Security=SSPI;")
Try
sql = "SELECT f1, f2, f3 FROM mydb WHERE ltrim(rtrim(UPPER(username))) = 'MYNAME'"

cmd = New OleDbDataAdapter(sql, conn)
ds = New DataSet
cmd.Fill(ds)
tbl = New DataTable
tbl = ds.Tables(0)

If tbl.Rows.Count = 0 Then
Response.Redirect("goback.html")
End If

Response.Redirect("dummy.html")

Catch ex As Exception
Response.Redirect("goback2.html")
End Try

End Sub

这个例程在一定程度上是有效的。我可以检查 tbl.Rows.Count = 1 的值,因此它应该重定向到“dummy.html”,只要我注释掉重定向到“goback2.html”的行,它就正确。

如果我取消注释重定向到 goback2 的行,那么它将转到“goback2.html”

我认为它应该只在前面的代码中存在一些错误的情况下才执行该代码 - 但如果它执行的话,前面的代码中不可能有错误。就像无论我要做什么它都会执行 catch 代码。

奇怪的是,它只会扰乱重定向!如果我用对 textbox.text 的赋值替换对 goback2 的重定向,那么它就可以工作(通过忽略该代码) - 但无论是否应该捕获,它似乎都会执行重定向

最佳答案

Response.Redirect(string) 抛出 ThreadAbortExceptionResponse.End()被调用时。

改用采用字符串和 bool 值的重载:

Response.Redirect("goback.html", false);

来自MSDN :第二个参数,endResponse“指示是否终止当前页面的执行。”

关于asp.net vb codebehind try ... catch 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6508217/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com