【问题标题】:Dynamic javascript within a custom control within an UpdatePanelUpdatePanel 内的自定义控件中的动态 javascript
【发布时间】:2013-11-21 18:13:07
【问题描述】:

非常简单,我有一个自定义 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。

我希望这很清楚,有人可以提出建议。提前致谢。

【问题讨论】:

    标签: javascript asp.net updatepanel postback


    【解决方案1】:

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

    一个简单的代码示例:

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

    【讨论】:

      猜你喜欢
      • 2017-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多