2014-01-30 1 views
0

В ASP.NET MVC 5 веба-проекте по умолчанию, "Вход" вид ("Login.cshtml") имеет BeginForm вызов, как это:Как я могу использовать T4MVC с формой подтверждения внешнего входа в проекте MVC5 по умолчанию?

@using (Html.BeginForm("Login", "Account", new { ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post, new { @class = "form-horizontal", role = "form" })) 

Я пытаюсь преобразовать все мои ActionLink, BeginForm (и т. д.) вызывает использование T4MVC, и поэтому я изменил его на:

@using (Html.BeginForm(MVC.Account.Login().AddRouteValue("ReturnUrl", (string)ViewBag.ReturnUrl), FormMethod.Post, new { @class = "form-horizontal", role = "form" })) 

... который работал нормально.

Однако, есть еще одна форма "ExternalLoginConfirmation.cshtml", которая начинается так:

@using (Html.BeginForm("ExternalLoginConfirmation", "Account", new { ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post, new { @class = "form-horizontal", role = "form" })) 

Я пытался использовать тот же подход:

@using (Html.BeginForm(MVC.Account.ExternalLoginConfirmation().AddRouteValue(...) 

... но возвращаемый объект по MVC.Account.ExternalLoginConfirmation не имеет метода AddRouteValue.

Я думаю, что это потому, что ExternalLoginConfirmation - метод асинхронного действия, который фактически возвращает Task<T>, а не только T.

Есть ли способ заставить это работать с T4MVC, или мне просто нужно оставить его в покое? (Я знаю, что могу просто заменить магические строки, используя MVC.Account.ActionNames.ExternalLoginConfirmation и MVC.Account.Name), но было бы неплохо иметь возможность использовать помощника.

ответ

1

Это покрытие находится в this thread. В основном, попробуйте:

MVC.Account.ExternalLoginConfirmation().Result.AddRouteValue(...) 
+0

Yikes. Это ** так ** похоже, что он выполнит задачу, но если нет, то большой - спасибо. –

+0

Не беспокойтесь, это не так. Не больше, чем в том, что у вас было выше, называется фактической функцией. Каждый звонок, который вы делаете в мире T4MVC, является фальшивым :) –

 Смежные вопросы

  • Нет связанных вопросов^_^