从不同的.Net用户控件调用相同的javascript函数

时间:2013-11-01 03:55:22

标签: c# javascript asp.net user-controls

我有一个页面,在页面内,我有2个用户控件。 两个用户控件都将包含相同的.js并从后面的代码调用相同的方法(但将不同的args传递给方法)。 但只有一个用户控件可以执行js。

用户控制1

ScriptManager.RegisterClientScriptInclude(Page, typeof(Page), "AutoSlider", "../../../Themes/Ooredoo/js/Slider.js");
ScriptManager.RegisterClientScriptBlock(Page, typeof(Page), "AutoSliderInit", "$(document).ready(function(){ SliderAutoSlide('ul#sliderImage'); });", true);

用户控制2

ScriptManager.RegisterClientScriptInclude(Page, typeof(Page), "AutoSlider", "../../../Themes/Ooredoo/js/Slider.js");
ScriptManager.RegisterClientScriptBlock(Page, typeof(Page), "AutoSliderInit", "$(document).ready(function(){ SliderAutoSlide('ul#smallSliderImage'); });", true);

当我尝试检查元素时,我只能找到UserControl1 javascript但不能找到UserControl2。

为了使两个用户控件能够调用相同的js(pass diff args),我该怎么办?

1 个答案:

答案 0 :(得分:0)

您正在使用相同的Key注册ClinetScriptBlock但具有不同的功能

ScriptManager.RegisterClientScriptBlock(Page, typeof(Page), "AutoSliderInit", "$(document).ready(function(){ SliderAutoSlide('ul#sliderImage'); });", true);
ScriptManager.RegisterClientScriptBlock(Page, typeof(Page), "AutoSliderInitSmall", "$(document).ready(function(){ SliderAutoSlide('ul#smallSliderImage'); });", true);
                                                                           ^ Change the Key