VB.net成功和刷新代码

VB.net success and refresh code?

本文关键字:刷新 代码 成功 net VB      更新时间:2023-09-26

我有一个页面在我的网站,有5个不同的文本框添加不同的东西到我的数据库。我希望每一个都能够有一个成功的代码捆绑它,也能够刷新页面。我使用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

http://msdn.microsoft.com/en-us/library/asz8zsxy.aspx

重定向将使页面(或另一个页面-不确定您的页面被称为什么)从头重新加载,因此单击事件将不会再次输入,<script>将不会被插入。

我建议不要使用Response.Write在客户机上生成消息。至少使用registerclientscriptblock,例如

RegisterClientScriptBlock("showSaveMessage", _
  "<script language=""JavaScript""> _
      alert('Your changes have been saved.'); _
   </script>")
从MSDN

但是我会考虑使用WebService来写你的数据库。然后你就不需要有完整的回发了

我将使用Response.Write("<script type='text/javascript'>{ alert('Image Title added successfully'); document.location.href = 'AddToPickList.aspx'; }</script>")