【问题标题】:Javascript update before page loads in ASP.NET在 ASP.NET 中加载页面之前的 Javascript 更新
【发布时间】:2010-05-29 16:18:41
【问题描述】:

我正在尝试将 xml 文件中的值更新到文本框中。我在 Page_Load 事件中调用了这个 javascript

this.Page.ClientScript.RegisterStartupScript(this.GetType(), "Script", sb.ToString(), true);

我单击了继续按钮,该按钮执行回发,但值不会更新,直到我再次刷新页面,这让我认为 js 直到页面返回后才运行。我想知道如何在按钮回发后刷新页面时更新值。

谢谢

【问题讨论】:

    标签: asp.net javascript


    【解决方案1】:

    我会重新评估您为什么要使用 JavaScript 执行此操作。我认为这在 asp.net 页面后面的代码中是一件非常微不足道的事情。 类似:

    var xmlSource = contacts.Load(@"myxmldoc.xml");
    mytextbox.Text = (from c in xmlSource.contact
            where c.contactId < 4
            select c.firstName + " " + c.lastName).FirstOrDefault();
    

    如果您致力于使用 JavaScript.. 我不确定您为什么不直接在 aspx 代码中编写 javascript。如果我的 javascript 在某种程度上是动态的,我只会使用 registerstartupscript。通常很容易使用公共属性将动态值传递给您的页面,也可以让 javascript 使用。

    【讨论】:

      【解决方案2】:

      只要您的RegisterStartupScript 不在If(!IsPostback) 块中,js 就会在每次回发后呈现给浏览器。请发布您的 javascript。

      【讨论】:

      • 我知道它正在渲染,但它在什么时候运行。它似乎在显示页面后运行,因为当我刷新时,会显示更新的值。
      • 这完全取决于javascript。如果 sb.ToString() 输出一个函数定义,那么它会在调用该函数时运行。如果它是直接的命令,例如alert('Hello World') 它将在每次页面加载后运行。发布您的 javascript。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-17
      • 1970-01-01
      • 1970-01-01
      • 2015-09-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多