我有 2 个标签。
- 第一个最重要,它加载内容的速度非常快。
- 第二个不是很重要,加载它的内容(图表和摘要)需要很长时间
所以,我不想同时加载两个选项卡的内容。理想情况下,我只加载第一个选项卡内容,当用户单击第二个选项卡时,我将加载其相关内容(按需)。
为此,我需要在服务器端知道第二个选项卡已被单击,然后将所有相关信息发送回客户端。
关于如何做到这一点有什么想法吗?
最佳答案
jQuery UI 选项卡控件支持 AJAX content填充的选项卡。只需将选项卡链接的 href
设置到将返回 HTML 内容的服务器端 URL。
例如:
<div id="my-tabs">
<ul>
<li><a id="myfirst-link" href="/Server/One">First</a></li>
<li><a id="mysecond-link" href="/Server/Another">Second</a></li>
</ul>
</div>
$('#my-tabs').tabs({
load: function (event, ui) {
switch (ui.tab.id) {
case 'myfirst-link':
break;
case 'mysecond-link':
break;
}
},
ajaxOptions: {
success: function(result) {
},
error: function (xhr, status, index, anchor) {
}
}
});
如果您需要在选项卡完成加载时运行任何 Javascript,则可以使用 load
事件。如果您需要在全局范围内处理每个 ajax 调用的任何成功或错误,那么您可以使用 ajaxOptions
。
关于c# - 单击 jQuery 选项卡时如何触发 c# 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12690421/