如何在回发上保留选定的选项卡或以编程方式调用之前激活方法

本文关键字:方式 编程 调用 方法 激活 选项 保留 | 更新日期: 2023-09-27 18:32:55

我在 c# 上创建了一个自定义控件,以具有多个具有不同形式的选项卡。我有两个视图:预览视图(禁用所有输入)和编辑视图。我可以轻松浏览选项卡,但是当我单击编辑按钮时,它会触发回发,然后所选选项卡返回到第一个可用的选项卡。

是否可以在回发时保留选定的选项卡?

C# 代码:

public string GetStartupScript()
{
    StringBuilder str = new StringBuilder();
    str.AppendFormat("$('"#{0}'")", this.ClientID);
    str.Append(".tabs({ beforeActivate: function(e,ui) {");
    str.Append(CustomJSInSelectedTab);
    str.Append(GetSetSelectedTabIndexScript());
    str.Append("}");
    str.Append("}");
    return str.ToString();
}
public string GetSetSelectedTabIndexScript()
{
        StringBuilder script = new StringBuilder();
           script.AppendFormat("SelectTab(ui.newPanel,'{0}');", _hdnSelectedTabId.ClientID);
        return script.ToString();
}

Javascript代码:

SelectTab = function (newpanel, hdnIndexId) {
    $("#" + hdnIndexId).val($(newpanel.selector)[0].id);
}

当我单击其他选项卡时,它会调用 beforeActivate 方法来解决问题。我可以通过编程方式调用该函数吗?或者这是一个硬编码的解决方法?

提前谢谢。

如何在回发上保留选定的选项卡或以编程方式调用之前激活方法

由于您已经在隐藏字段上跟踪了选定的选项卡,因此您所要做的就是在代码中添加"active",如下所示:

active: <%= hdnSelectedTab.Value %>

如果你解决了,给我反馈。