c# - 单击 jQuery 选项卡时如何触发 c# 程序?

标签 c# jquery asp.net jquery-ui webforms

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

相关文章:

jquery - JavaScript表格动态颜色变化

jquery - UL 内的链接不起作用

c# - 我如何继承字典?

javascript - 如何重用克隆的元素?

javascript - 如何用jQuery实现著名的灯箱效果?

c# - AuthCookie 已设置,仍被重定向到 login.aspx

c# - 使用 GetRouteDataAsync 和 GetVirtualPathAsync 在 ASP.NET 中异步 RouteBase?

c# - Entity Framework DbContext 实例 DataReader 已经打开

c# - 如何使用 lambda 或 linq 从整数列表中的对象列表中收集多个 int 属性?

c# - WebResource 是空白页