以下示例的最佳做法是什么:
这三个独立的观点是?或者具有多个路线选项的相同视图?
ActionResult ChangePassword()
ActionResult ChangePassword(string token)
{
// if bad token show this error view partial? set viewdata item and let cshtml decide what to show?
}
或者这样的情况真的不合逻辑吗?
答案 0 :(得分:3)
我会把它分成两页:
更改密码
重设密码
这两个页面的运作方式似乎不同,我认为最好使用单独的视图,操作和&amp ;;查看模型。如果你到了最后,重构删除重复没有任何问题,但我预测它们不会像你预期的那样相似。
答案 1 :(得分:2)
我认为你可以使用单个View,你需要构建一个足够健壮的ViewModel:
public class ChangePasswordViewModel(){
public string OldPasswordHash {get; set;} //Remember never to store password in clear text
public string NewPassword{ get; set; }
public string RecoveryToken { get; set; }
}
基于这些属性,您应该拥有充实视图中的表示逻辑以覆盖上述所有用例的所需功能。如果您需要进一步的指导,请告诉我。
答案 2 :(得分:1)
我认为ASP.NET MVC
的最佳验证将是您要验证的属性的Validation Attributes
。