javascript - 如何在 PostBack 上保留选定的选项卡或以编程方式调用 beforeActivate 方法

标签 javascript c# jquery asp.net tabs

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

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

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: <%= hdnSelectedTab.Value %>

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

关于javascript - 如何在 PostBack 上保留选定的选项卡或以编程方式调用 beforeActivate 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35137000/

相关文章:

c# - 从 dto 转换为多态业务对象

c# - 我可以在 get 访问器中锁定集合吗?

javascript - 编写 jQuery 选择器的最佳实践

javascript - 查找 `body` 标签是否在弹出窗口中有类

javascript - Firebase Web 客户端将 JSON 上传到 Cloud Storage

javascript - 如何更新 Rails 部分中的 jquery 日期选择器

javascript - Vue.JS:对话框打开后如何调用函数?

javascript - anchor 标记中的 hash(#) 后面的文件夹是什么意思?

c# - SSH.NET - 已建立的连接被主机中的软件中止

javascript - 为什么父级不在 jquery 中工作?