私は奇妙な行動に出くわしており、あなたの情報を得たいと思っています。私はこれを理解し、さまざまなオプションを試しましたが、運がありませんでした。
これが MVC です。
私は2つのタブを持っています。
概要とプロフィール。
このページの右上に、このユーザーのプロファイルのリストを含むドロップダウン リストがあります。
デフォルトでは、ユーザーがサインインすると [全般] タブが表示され、プロファイルをクリックすると、名、姓などのプロファイルの詳細を取得して表示するために呼び出しを行います。
ユーザーがプロファイル タブにいる間、上部のドロップダウン リストから別のプロファイルを選択できます。
問題は、ドロップダウンからプロファイルが選択されたときに 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) {
}
});