2009-11-12 61 views
3

好採取下面這個例子中,ASP.Net MVC「魔術串」 - 它們可以避免嗎?

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"); 
     } 

反正是有避開!魔法字符串」重定向到登錄頁面時?

回答

11

在這種情況下,我不會走近MVC期貨。

我會建議使用T4MVC

大衛博談論它在這裏: http://blogs.msdn.com/davidebb/archive/2009/06/17/a-new-and-improved-asp-net-mvc-t4-template.aspx

有了一個更新的版本在這裏還包括重構行動方法的支持:

http://blogs.msdn.com/davidebb/archive/2009/06/26/the-mvc-t4-template-is-now-up-on-codeplex-and-it-does-change-your-code-a-bit.aspx

意味着而不是像這樣使用文字:

<% Html.RenderPartial("DinnerForm"); %> 

現在,您可以使用智能感知和強類型的:

<% Html.RenderPartial(MVC.Dinners.Views.DinnerForm); %> 

這也得到了斯科特Hanselman在這裏的博客上講述:

http://www.hanselman.com/blog/TheWeeklySourceCode43ASPNETMVCAndT4AndNerdDinner.aspx

+0

注意:該項目已從CodePlex轉移到github。 https://github.com/T4MVC/T4MVC – Jason 2015-04-06 17:41:28

1

(1)。還有就是使用強類型的方法的一種方式。他們在ASP.NET MVC預覽曾經是,但釋放被拆除並投入MVC期貨

喜歡的東西:

Html.ActionLink<HomeController>(c => c.Index(), "Home") 

(2)。定義所有操作的常量並使用它們。

+1

注意,期貨助手的東西在10 *的性能比標準助手差,並且不能與ActionNameAttribute一起使用。 – 2009-11-12 14:07:17

相關問題