我想实现的目标与StackOverflow中的登录工作方式类似。如果您没有登录,您仍然可以看到问题,但是如果您尝试+1请求您登录的某些问题。当你登录你的+1时被记住并被添加到问题中。用户登录后更新数据库记录
这是我的情景:
- 为会员和用户的搜索选择一个 - 登录不需要
- 选择用户被重定向到一个反馈页面,用户可以编写一个反馈的成员后消息成员
- 用户写反馈意见,然后点击保存
- 无论用户是否登录或不反馈保存
- 如果用户没有在弹出的登录将打开用户将被要求登录
- 反馈用户登录后,在步骤4中创建,将与用户的ID进行更新
- 用户从步骤1 重定向到搜索页面
我被困在第6步。我无法弄清楚获取登录用户的Id的最佳方式,然后更新反馈消息。
该代码表示步骤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的开头所述)的反馈消息。
我的问题是:
我应该在哪里保持反馈消息ID,我在第4步,所以我可以用它来更新反馈消息得到什么?
当用户登录时,我想更新反馈消息,我该如何处理这个最好?我知道我可以将它存储在
TempData
中,但我并没有真正看到这是最好的选择,还是它?我试图在网上找到例子,但没有什么适合这个好。有谁知道任何可以适合这种情况的例子吗?
感谢
我不确定这是否是最好的做法,但现在我找不到其他更好的方法。 – 2014-10-31 13:58:39
您也可以使用Cookie而不是缓存变量来实现此目标。虽然,他们是饼干。 – 2014-10-31 16:39:49