UpdatePanel中自定义控件中的动态JavaScript

时间:2013-11-21 18:13:07

标签: javascript asp.net updatepanel postback

非常简单,我有一个自定义ASP.NET控件,除了渲染文本框外,还会输出一个javascript函数和对该函数的调用。这里问题的关键是每个回发中javascript中的变量可能不同。

所以我在UpdatePanel中有控件,下面是输出javascript的示例。传递给someStaticFunction的一些变量是基于自定义控件的属性动态的(例如Visible)。

$(function() {
    Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(myFunction);
    myFunction();
});
function myFunction(sender, args) {
    someStaticFunction('false');    \\ "false" is written dynamically by the control's server side code
}

当UpdatePanel回发时,根据用户选择的内容,页面现在可以将控件的属性设置为true。虽然javascript确实写得正确(与上面相同,除了'false'是'true',false仍然传递给someStaticFunction。

因此控件在回发后呈现正确的javascript,但页面正在运行原始帖子中的javascript。

我希望这很明确,有人可以提出建议。提前谢谢。

1 个答案:

答案 0 :(得分:0)

您是否尝试在pageLoad()函数中评估控件的属性,该函数在每次回发时调用并使用该值调用someStaticFunction而不是生成服务器端的内容?

一个简单的代码示例:

function pageLoad(){
    var value = $('#controlID').val();
    someStaticFunction(value);
}