1

使用DevExpress ASPXTabControl,我如何确定在客户端使用 Javascript 单击了哪个选项卡。

我有多个选项卡,每个选项卡都包含一个加载数据的回调面板。这一切正常,但是当单击任何选项卡时,所有数据都会被加载。

我想确定单击了哪个选项卡,并且仅在相关回调面板上执行了 PerformCallback。

4

2 回答 2

1

据我了解,当 CallbackPanel 位于 TabPage 内时,您有一个布局。如果是这样,您的任务可以使用以下方法实现:

1) 如下设置每个 ASPxCallbackPanel 的 ClientInstanceName 属性:

"callBackPanel_" + Tab.Index.ToString();

即每个 CallbackPanel 的 ClientInstanceName 取决于它所在的选项卡。

2) 处理 ASPxPageControl 的 ActiveTabChanged 客户端事件,如下所示:

var panel = eval("callBackPanel_" + e.tab.index.toString());
panel.PerformCallback("parameter");

另外,我建议您查看如何在回调中创建和加载活动选项卡的内容

于 2011-05-17T16:43:48.527 回答
1

为 AspxpageControl 编写 ClientSideEvent

<ClientSideEvents EndCallback="
   function (s, e) {
    var tab = s.GetActiveTabIndex();
    switch (tab) {
        case 0:
            Page1Callback.PerformCallback();
            break;
        case 1:
            Page2Callback.PerformCallback();
            break;
        case 2:
            Page3Callback.PerformCallback();
            break;...

    }
}" />

</dx:ASPxPageControl>

这将在第一次单击时在每个选项卡上加载数据,之后选项卡模式将进入客户端模式

于 2014-10-01T09:33:38.463 回答