2010-05-29 61 views
0

我在尝试将xml文件中的值更新到文本框中。我有这个JavaScript调用在Page_Load事件在ASP.NET中加载页面之前的Javascript更新

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

我点击继续按钮,做回发,但没有更新的值,直到我再次刷新页面,这使得我想起了JS没有运行直到返回页面。我想知道如何在按钮回发后刷新页面时更新值。

感谢

回答

0

的JS将在每次回发后,只要您的RegisterStartupScript不在If(!IsPostback)块呈现出来给浏览器。请发布您的JavaScript。

+0

我知道它正在渲染,但在哪一点运行。它似乎在页面显示后运行,因为刷新时会显示更新的值。 – user204588 2010-05-29 18:01:46

+1

这完全取决于JavaScript。如果sb.ToString()输出一个函数定义,那么它在调用该函数时运行。如果它是直接向前的命令,例如alert('Hello World')它会在每次页面加载后运行。发布您的JavaScript。 – 2010-05-29 18:19:40

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 ..我不知道你为什么不干脆直接写JavaScript中的ASPX代码。我只使用registerstartupscript,如果我的JavaScript是动态的某种方式。通常使用公共属性以及要使用的JavaScript将动态值传递到您的页面是很容易的。

相关问题