【问题标题】:VB.net success and refresh code?VB.net 成功并刷新代码?
【发布时间】:2011-11-20 08:54:38
【问题描述】:

我的网站中有一个页面,其中包含 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")

【问题讨论】:

  • 现在我将使用Response.Write("&lt;script type='text/javascript'&gt;{ alert('Image Title added successfully'); document.location.href = 'AddToPickList.aspx'; }&lt;/script&gt;") 我将考虑在我即将进行的项目中使用 WebServices。我现在正在做的项目太费时间了,我无法尝试学习任何新东西。谢谢大家!
  • 你可以回答你自己的问题,以便它得到解决...... :)
  • 我必须输入评论,因为我的声誉还没有那么高。它说了一些关于 6 小时后回答的问题 :) 但我现在会的。谢谢

标签: javascript asp.net vb.net refresh


【解决方案1】:

您在同一个请求中进行重定向,因此您希望输出的 javascript 将永远不会被呈现。

1 解决方案是将查询字符串传递到您的下一页,例如:

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

【讨论】:

    【解决方案2】:

    重定向将使页面(或另一个页面 - 不确定您的页面称为什么)从头开始重新加载,因此不会再次输入点击事件,也不会插入 &lt;script&gt;

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

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

    (from MSDN)

    但我会考虑使用WebService to write to your DB。这样您就不必进行完整的回发了。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-10
        • 2016-10-26
        • 1970-01-01
        • 2021-08-30
        • 1970-01-01
        • 2017-02-27
        相关资源
        最近更新 更多