c# - 如何实现登录重定向并以MvvM模式返回?

标签 c# mvvm

关于MvvM的一个非常具体的问题(无特定框架):

  • 用户界面具有登录屏幕
  • UI提供了一些操作,要求用户登录

  • 假设我们有一个事物列表,单击一个事物应该触发下载。
  • 单击将触发 View 模型中的Download()方法。
  • 用户单击第三件事。
  • View 模型要求服务下载。
  • 服务回复“未通过身份验证”。

  • 现在, View 模型可以导航到登录屏幕(或者,如果我们没有 View 模型导航,则告诉UI在那里导航)。

    但是,当用户完成登录后,用户将如何完全返回触发的操作(还原UI并开始下载第三件事)?

    是否有解决这种情况的标准模式?

    我觉得我在这里觉得太复杂了...让我们看看是否会有答案:-)

    最佳答案

    通常,您只需将延续方式传递给身份验证方法。考虑一下ASP.NET表单例份验证如何与返回URL作为查询字符串参数一起使用-这就是我所说的延续。有关如何恢复的一些编码说明。

    例如:PRISM has a navigation service接受URL以便在 View 或 View 模型之间移动,并且可以轻松地支持身份验证步骤,该步骤的工作方式与基于ASP.NET表单的身份验证相同。我建议您仔细阅读该链接以了解它的实现方式,然后您可以使用它(我在商业项目中取得了成功)或类似的东西。

    关于c# - 如何实现登录重定向并以MvvM模式返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20892119/

    相关文章:

    c# - "Can' t 在指定文件夹中找到 .NET 程序集 {AssemblyName}”

    c# - 通过 log4net 可配置的敏感数据屏蔽

    c# - 这个共享的 DbCommand 对象线程安全吗?

    wpf - 如何在 WPF 中为 MVVM 实现多状态复选框

    javascript - 为我的网页设置 View 模型时遇到问题

    javascript - 如何在ajax调用中传递值?

    c# - 通过 Web API 将 JSON 转换为 RSS?

    javascript - 我的对象应该如何构建才能在 Knockout 中实现正确的 MVVM?

    c# - MVVM 中的后台线程进度通知?

    javascript - Extjs 数据模型/存储是否支持任何包装代理构建器方法?