好的,请看下面这个例子:
public ActionResult ViewProfile()
{
//Load the profile for the currently logged in user
if (Membership.GetUser() != null)
{
//Do some stuff get some data.
return View(ReturnViewModel);
}
return RedirectToAction("MainLogon", "Logon");
}
在重定向到登录页面时,有没有避免“魔术字符串”?
答案 0 :(得分:11)
在这种情况下,我不会接近MVC Futures。
我建议使用T4MVC
David Ebbo在这里谈到它: http://blogs.msdn.com/davidebb/archive/2009/06/17/a-new-and-improved-asp-net-mvc-t4-template.aspx
此处的更新版本还包括对行动方法的重构支持:
意味着不要使用这样的文字:
<% Html.RenderPartial("DinnerForm"); %>
您现在可以使用intellisense并强烈输入:
<% Html.RenderPartial(MVC.Dinners.Views.DinnerForm); %>
斯科特·汉塞尔曼(Scott Hanselman)也在博客上发表过这篇文章:
http://www.hanselman.com/blog/TheWeeklySourceCode43ASPNETMVCAndT4AndNerdDinner.aspx
答案 1 :(得分:1)
(1)。有一种方法可以使用强类型方法。他们曾经在ASP.NET MVC预览中,但已从发布中删除并放入MVC Futures
类似的东西:
Html.ActionLink<HomeController>(c => c.Index(), "Home")
(2)。定义所有操作的常量并使用它们。