我在 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/