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

Calling same javascript function from different .Net User Control

本文关键字:javascript 函数 调用 用户 Net 控件      更新时间:2023-09-26

我有一个页面,在页面内部,我有 2 个用户控件。两个用户控件将包含相同的.js并从代码隐藏调用相同的方法(但将不同的参数传递到方法中)。但是只有一个用户控件能够执行 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(传递差异参数),我应该怎么做?

您正在使用相同的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