扩展Infragistics WebDropDown

时间:2016-09-09 14:33:54

标签: asp.net infragistics

我打算将自定义处理程序附加到WebDropDown的“DropDownClosing”事件中。

我尝试了下面的样本。

$IG.WebDropDown.prototype = {
    openDropDown: function () { alert(1); }
}

但它在被DOM解析时抛出错误(Uncaught ReferenceError:$ IG未定义)。

有趣的是,下面的一个有效,但它会显示警报并跳过所有其他本机功能。 (例如警告下拉列表未打开)

$IG.WebDropDown.prototype.openDropDown = function () { alert(1); }

目标是,我的应用程序中的所有webdropdown都应该使用我的客户功能,我想在一个地方配置它,而不是为每个webdropdown添加“DropDownClosing”客户端事件。

在infragistics中扩展控件事件的正确方法是什么。

1 个答案:

答案 0 :(得分:0)

您可以对页面上的所有WebDropDowns使用相同的客户端事件处理程序,但您仍然必须告诉每个人订阅此处理程序并使用它:

<ig:WebDropDown ID="myDropDown1" runat="server">
    <ClientEvents DropDownClosing="dropDownClosing" />
</ig:WebDropDown>

<ig:WebDropDown ID="myDropDown2" runat="server">
    <ClientEvents DropDownClosing="dropDownClosing" />
</ig:WebDropDown>

<script type="text/javascript">
function dropDownClosing(sender, eventArgs) {
    alert(1);
}
</script>

您尝试过的是覆盖WebDropDown openDropDown客户端方法。这将覆盖控件的打开功能,因此下拉不会打开,除非您自己重新实现功能,或使用对原始实现的缓存引用。这与附加事件处理程序不同。