gpt4 book ai didi

ASP.Net CodeBehind 中的 JavaScript

转载 作者:行者123 更新时间:2023-11-28 20:41:04 24 4
gpt4 key购买 nike

我在使用添加到代码隐藏的一些 JavaScript 时遇到了问题。我在这里试图实现的目标是在页面加载上进行另一次回发。现在,你可能会觉得这很奇怪,但我的疯狂是有办法的。

在我的 ASP.Net 向导中,我有一个文本框,其中包含从另一个步骤填充的日期。然后使用该日期向其他 3 个控件填充财务信息。有必要在该步骤的负载上填充这 3 个其他控件。现在我尝试简单地在 page_load 上执行此操作,但这不起作用,因为某些控件不存在或日期不在文本框中。我也尝试在 page render 方法上执行此操作,但由于相同的原因这也不起作用。

因此,我求助于使用 javascript 执行双重回发,但它导致了各种各样的问题。

这是来自 Page_Load 的代码:

 Dim validateFinancial as String = "<script language='javascript'>window.onload = function() ( ValidateFinancialDate() { __doPostBack('<%= UpdatePanel2.ClientID %>'); return false; })</script>"
Page.ClientScript.RegisterStartUp(Me.GetType(), "MyScript", validateFinancial, false)

它没有触发,并且在浏览器左下角的 JavaScript 错误框中显示缺少“;”。如果我删除 javascript 代码并简单地将其添加到带有字符串中的函数名称的标记中,它将出现错误,但是在发布到网络服务器时会导致 AJAX 控件在整个页面上失败。

请问有办法让它发挥作用吗?

最佳答案

你的问题是

<%= UpdatePanel2.ClientID %>

不会被解释。当您希望 javascript 回发时,ASP 已经完成了页面的呈现。您必须找到另一种方式来传递 UpdatePanel2.ClientID 值。

关于ASP.Net CodeBehind 中的 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14398832/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com