我的站点中有一个页面有 5 个不同的文本框,用于将不同的内容添加到我的数据库中。我希望每个人都能够绑定(bind)一个成功代码,但也能够刷新页面。我用 Response.Write("<script>alert(" & "'Image Title added successfully'" & ")</script>")
显示消息,但是当我添加 Response.Redirect("AddToPicklist.aspx")
对它来说,成功消息不再显示。有没有一种更简单的方法是 ASP.net?
<tr><td class="title">Image</td></tr>
<tr><td>Image Title: </td></tr>
<tr><td><asp:TextBox ID="txtImageTitle" runat="server"></asp:TextBox></td></tr>
<tr><td><asp:Button ID="btnSubmitImage" runat="server" Text="Submit" /></td></tr>
</table><br />
Protected Sub btnSubmitImage_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSubmitImage.Click
**insert code is here but it's not relevant so I'm omitting it**
Response.Write("<script>alert(" & "'Image Title added successfully'" & ")</script>")
Response.Redirect("AddToPicklist.aspx")
最佳答案
您在同一个请求中重定向,因此您希望输出的 javascript 将永远不会呈现。
一种解决方案是将查询字符串传递到您的下一页,例如:
Response.Redirect("AddToPicklist.aspx?alert=titleadded")
然后在 AddToPicklist.aspx
上执行:
If Request.QueryString("alert") = "titleadded" Then
Response.Write("<script>alert(" & "'Image Title added successfully'" & ")</script>")
End If
或者,您可以在警报后通过 javascript 重定向到该页面,但这对没有启用 javascript 的用户来说是不利的。
附带说明,查看使用 ClientScriptManager.RegisterStartupScript
来输出 javascript,而不是 Response.Write
关于javascript - VB.net 成功并刷新代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7473504/