T4MVC с именами действий

Я только что включил T4MVC в свой проект и столкнулся с проблемой. Я передаю данные в свой javascript через скрытые текстовые поля, и мне нужно иметь возможность передавать имена контроллеров и их действия. Вот что у меня есть:

<input type="hidden" id="logErrorUrl" name="logErrorUrl" value="@Url.Action("LogJavaScriptError", "Error") />

Я хотел бы иметь возможность:

<input type="hidden" id="logErrorUrl" name="logErrorUrl" value="@Url.Action(MVC.Error.LogJavaScriptError("")) />

Почему-то это не работает. Я думал, потому что LogJavascriptError не возвращает ActionResult. FYI LogJavaScriptError также принимает строку, но мне просто нужно название действия. Я также пробовал @MVC.Error.ActionNames.LogJavaScriptError, но, возможно, он снова не появляется, потому что он не возвращает ActionResult?


person Ryan    schedule 04.06.2011    source источник


Ответы (1)


T4MVC работает только с методами действия, которые возвращают ActionResult. Если вашему методу не нужно ничего возвращать, рекомендуется возвращать EmptyResult, например.

    public virtual ActionResult SomeAction() {
        // Do stuff

        return new EmptyResult();
    }
person David Ebbo    schedule 05.06.2011