我尝试实现的内容与StackOverflow上的登录方式类似。如果您尚未登录,您仍然可以看到问题,但如果您尝试为某些问题+1,则会要求您登录。当您登录时,您的+1会被记住并添加到问题中。
这是我的情景:
我已经陷入了第6步。我无法弄清楚获取登录用户身份的最佳方式,然后更新反馈消息。
此代码代表第5步。它只是将反馈消息发送到控制器并保存。消息为.done
后,我调用登录弹出窗口。返回message.Data
包含反馈消息的ID(刚刚创建)以及用户登录后我需要的消息。
function saveModel(feedbackMessage) {
cc.Ajax.jpost(urlSave, { feedbackMessage: feedbackMessage })
.done(function (message, textStatus, jqXHR) {
if (message.Status == 2) { // user not logged in
openSignInModal(message.Data);
}
})
}
此代码表示第6步。返回的data
是包含登录页面的部分视图。
function openSignInModal(feedbackId) {
var url = '/Account/LoginPartial';
$.ajax({
url: url,
type: 'get',
data: { returnUrl: '/Subscriber/Search', subTitle: feedbackNotSignedIn, modalTitle: '' },
success: function (data, textStatus, jqXHR) {
$('#pc_modal_container').html(data);
$('#pc_modal').modal('show');
},
});
}
如果用户登录,那么我想获取用户的ID并使用登录用户的ID更新反馈消息(类似于我在开始时使用StackOverflow解释的内容)。
我的问题是:
我应该在哪里保留我在步骤4中获得的反馈消息ID,以便我可以使用它来更新反馈消息?
当用户登录并且我想更新反馈消息时,我该如何处理这个问题?我知道我可以将它存储在TempData
中,但我不是真的认为这是最好的选择,或者是它?
我试图在网上找到一些例子,但没有什么比这更好。有没有人知道任何适合这种情况的例子?
由于
答案 0 :(得分:0)
尝试此过程。它没有任何技术细节,但我相信完成你的目标是很有意义的。
我不相信这应该是最好的解决方案,但它会起到作用。