В 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
), но было бы неплохо иметь возможность использовать помощника.
Yikes. Это ** так ** похоже, что он выполнит задачу, но если нет, то большой - спасибо. –
Не беспокойтесь, это не так. Не больше, чем в том, что у вас было выше, называется фактической функцией. Каждый звонок, который вы делаете в мире T4MVC, является фальшивым :) –