【问题标题】:Run Javascript function after postback in asp.net在 asp.net 中回发后运行 Javascript 函数
【发布时间】:2013-06-26 16:49:08
【问题描述】:

我有一个按钮,它会导致回发并调用 javascript 函数 hideInsert(),它看起来像这样:

function hideInsert() {
    $('.hide').hide();
        alert("hide");
    }

它所做的只是隐藏标有“.hide”的表格行。这按预期工作,但由于回发发生,一切都被重置。

在回发发生后,无论如何我可以单击按钮触发回发然后运行该功能吗?

我一直在看这个http://msdn.microsoft.com/en-us/library/z9h4dk8y.aspx,但没有成功。

然后我需要按下另一个按钮来触发 showInsert() 函数,这需要一个类似的函数。

【问题讨论】:

  • RegisterStartupScript 是我所建议的......那不起作用怎么办?
  • 您需要将脚本从您的代码隐藏中直接写入页面。当然不是在一个函数中,所以它会立即执行。当然,您也可以隐藏代码隐藏中的控件...
  • 相信Page.IsPostBack会对你有所帮助。您可能想更详细地说明您的问题到底是什么。你是在调用函数然后回发吗?
  • 我想多了,Bartdude。当然,简单的解决方案是在 C# 代码中使用 .visible = false 隐藏控件。

标签: c# javascript asp.net postback


【解决方案1】:

根据您当前的架构,无论哪种情况最有意义,包括:

if (Page.IsPostBack) {
    ClientScript.RegisterStartupScript(this.GetType(), "HideOnPostback", "$(function() { hideInsert(); })", true); 
}

Page_Load 是包含此类逻辑的常见位置。

或者,如果您在回发后永远不需要被归类为.hide 的任何内容并且它们是服务器端控件,您可以始终将它们设置为Visible = false。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-24
    • 1970-01-01
    • 2012-03-31
    • 1970-01-01
    • 2013-07-04
    相关资源
    最近更新 更多