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

时间:2014-01-02 21:21:23

标签: c# mvvm

关于MvvM的一个非常具体的问题(没有具体的框架):

  • UI有登录屏幕
  • UI提供了一些需要用户登录的操作

假设我们有一个列表,点击一个东西应该触发下载。

  • 点击会在视图模型中触发Download()方法。
  • 用户点击第三件事。
  • 视图模型要求下载服务。
  • 服务回复“未经过身份验证”。

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

但是当用户完成登录后,用户将如何回到被触发的行动(恢复用户界面并开始下载第三件事)?

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

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

1 个答案:

答案 0 :(得分:0)

您通常只是将继续传递给身份验证方法。想一想ASP.NET表单身份验证如何使用返回URL作为查询字符串参数 - 这就是我所说的延续。一些如何恢复的编码指令。

例如:PRISM has a navigation service接受用于在视图或视图模型之间移动的URL,并且可以轻松支持与基于ASP.NET表单的身份验证相同的身份验证步骤。我建议通过链接阅读它是如何在那里实现的,然后你可以使用它(我在商业项目中取得了很大的成功)或类似的东西。