【问题标题】:Update a label on aspx page before a Response.Redirect在 Response.Redirect 之前更新 aspx 页面上的标签
【发布时间】:2013-02-22 23:43:45
【问题描述】:

我有以下重定向,但需要在重定向之前将标签更改为“成功”:

Response.Redirect(Url)

我试过传入 false 然后更改 label.Text = "Success"

还尝试保存这样的值

您需要一种在过渡期间保存数据的方法。因此,第一次通过验证时,将值存储到 Session 变量中,但没有成功。

Session ("label") = "Success
Response.Redirect(Url, False)


Label.Text = Session("label")

是否只有通过 java 脚本才能做到这一点?

我会使用:

Page.ClientScript.RegisterClientScriptBlock

【问题讨论】:

  • 你有什么问题?
  • 更新文本和重定向的意义何在?用户不会看到它 - 也许您想显示某种消息,然后如果用户关闭它,您将进行重定向,或显示消息,并使用 javascript 计时器进行重定向。
  • 您无法在页面上显示不会呈现的内容,因为您正在重定向到另一个页面。但是使用会话来维护文本应该可以工作。您可以在重定向页面上读取该会话值并将其显示在那里。你遇到了什么问题?
  • 您能否提供您尝试完成此操作的上下文?这可能有助于确定解决方案。
  • 如果你说的是重定向打开了一个文档但这个页面对用户仍然可见,那么我会说是的,使用 javascript 来更改标签(通知他们成功)然后像你一样打开文档。除非在页面上进行回发,否则更改标签不会变得可见。

标签: javascript asp.net vb.net


【解决方案1】:
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "anyKey", "<script>alert('Success'); window.open(" + url + ");</script>", false);

或者如果您想在用户按下消息框上的确定按钮时打开网址,您也可以这样做

ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "anyKey", "<script>if(confirm('Success')) window.open(" + url + ");</script>", false);

同样,正如 Aristo 上面所说的

ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "anyKey", "<script>$('#"+ lblYourLabel.ClientID +"').val('Success'); var t=setTimeout(function(){window.open(" + url + ");},3000);</script>", false);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-23
    • 2017-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-07
    相关资源
    最近更新 更多