首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用户登录后更新数据库记录

用户登录后更新数据库记录
EN

Stack Overflow用户
提问于 2014-10-30 14:26:10
回答 1查看 122关注 0票数 0

我试图实现的是类似于登录在StackOverflow上的工作方式。如果您没有登录,您仍然可以看到问题,但如果您尝试+1一些问题,您被要求登录。当您登录时,您的+1将被记住并添加到问题中。

这是我的场景:

  1. 用户搜索成员并选择一个登录名是不需要的。
  2. 在选择成员之后,用户被重定向到反馈页面,在该页面中,用户可以向成员写入反馈消息。
  3. 用户编写反馈并单击Save
  4. 无论用户是否登录,反馈都会被保存。
  5. 如果用户未登录,弹出窗口将打开,用户将被要求登录。
  6. 在步骤4中创建的用户登录反馈后,将使用用户的Id更新
  7. 从步骤1将用户重定向回搜索页。

我陷入了第6步,我不知道获得登录用户Id的最佳方法,然后更新反馈消息。

此代码表示步骤5,它只需向控制器发送反馈消息并保存它。在消息为.done之后,我调用登录弹出。返回message.Data包含反馈消息的Id (刚刚创建),在用户登录后我需要该Id。

代码语言:javascript
复制
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是包含登录页的部分视图。

代码语言:javascript
复制
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中,但我并不认为这是最好的选择,或者说是吗?
  • 我试着在网上找到一些例子,但是没有任何东西适合这一点。有没有人知道任何符合这种情况的例子?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-10-30 20:55:04

试试这个过程。它没有任何技术细节,但我相信它将完成你的目标。

  1. 在反馈帖子期间,将反馈POST ID保留在缓存变量中,如PendingFeedBacks
  2. 使这些缓存的数据仅适用于当前会话,并且具有较低的过期时间。
  3. 在某个地方,如果用户经过身份验证,并且有任何待处理的反馈要采用,那么就去做吧!

我不认为这是最好的解决办法,但它会起作用的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26655625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档