Jquery UI选项卡 - 内容未刷新

时间:2013-09-20 02:03:24

标签: jquery asp.net-mvc user-interface tabs

我遇到了一种奇怪的行为,想得到你的意见。我花了一半的时间来搞清楚这一点并尝试各种选择,但没有运气。

这是MVC。

我有两个标签。

一般和简介。

在此页面的右上角,我有一个下拉列表,其中包含此用户的个人资料列表。

默认情况下,一旦用户登录,他们就会显示“常规”选项卡,点击“个人资料”后,我会拨打电话获取个人资料详细信息,如名字,姓氏等,并显示它们。

当用户位于个人资料标签上时,他们可以从下方的下拉列表中选择不同的个人资料。

问题是当从下拉列表中选择配置文件时,我进行ajax调用,然后在此配置文件选项卡中显示内容。由于某种原因,此内容从未显示,并且始终显示旧的配置文件数据。我认为它可能是缓存数据但是这两个选项卡的缓存都设置为false。配置文件选项卡根本不刷新,即使我调试cshtml文件时,我看到最新数据通过,但它没有呈现。

任何帮助都将不胜感激。

感谢。

        <div id="mainUserPDTab">
        <div id="UserPDTab">
        <ul>
        <li>
        <a class="tab" href="@Url.Action("UserDetails", "CustomerSupport", new { signOnId = @Model.SignOnId, internalId = @Model.InternalId, userAgentGuid = @Model.UserAgentGuid })">
        <span>General</span>
        </a>
        </li>
        @if (Model.Profiles != null)
        {
        <li><a class="tab" href="@Url.Action("UserProfileDetails", "CustomerSupport", new {signOnId = @Model.ProfileSignOnId, internalId = @Model.ProfileInternalId, userAgentGuid = @Model.ProfileUserAgentGuid})">
        <span>Profile</span>
        </a>
        </li>
        }

        </ul>
        </div>
        </div>

        2).js file
        $('#mainUserPDTab').tabs({
        cache: false,
        select: function (event, ui) {
        checkSession();
        var $curr_panel = $(ui.panel);
        $curr_panel.find('.date').datepicker();
        }
        });
        $('#UserPDTab').tabs({
        cache: false,
        select: function (event, ui) {
        checkSession();
        var $curr_panel = $(ui.panel);
        $curr_panel.find('.date').datepicker();
        }
        });
        3) Dropdown click ajax call
        $("button#viewProfiles").live("click", function () {
        var val = $('.ddrelUsers option:selected').val().split("|");
        var signOnId = val[0];
        var internalId = val[1];
        var useragentGuid = val[3];



        var action = "UserProfileDetails?signOnId=" + signOnId + "&internalId=" + internalId + "&userAgentGuid=" + useragentGuid + "&fromprofile=true";
        $.ajax({
        url: action, //$(this).attr('href'),
        dataType: "html",
        beforeSend: function () {
        checkSession();
        },             
        success: function (result) {
        if ($.trim(result) != '' && result.indexOf('INACTIVESESSION') > -1) {
        window.location.href = "../SignOn";
        return false;
        } else {

        $('#mainUserPDTab').tabs('select', 2);



        }
        },
        error: function (xhr, status, error) {

        }

        });

0 个答案:

没有答案