非常简单,我有一个自定义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。
我希望这很明确,有人可以提出建议。提前谢谢。
答案 0 :(得分:0)
您是否尝试在pageLoad()函数中评估控件的属性,该函数在每次回发时调用并使用该值调用someStaticFunction而不是生成服务器端的内容?
一个简单的代码示例:
function pageLoad(){
var value = $('#controlID').val();
someStaticFunction(value);
}