ASP.Net MVC "Волшебные струны" - можно ли их избежать? - PullRequest
3 голосов
/ 12 ноября 2009

Хорошо, возьмите этот пример ниже:

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

Есть ли способ избежать "волшебных строк" при перенаправлении на страницу входа?

Ответы [ 2 ]

11 голосов
/ 12 ноября 2009

В этом случае я бы не подошел к фьючерсам 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"); %>

Теперь вы можете использовать intellisense и строго набрать его:

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

Скотт Хансельман также писал об этом здесь:

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

1 голос
/ 12 ноября 2009

(1). Есть способ использовать строго типизированные методы. Когда-то они были в предварительном просмотре ASP.NET MVC, но были удалены из выпуска и помещены в MVC Futures

Что-то вроде:

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

(2). Определите константы для всех действий и используйте их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...