ActionLink от Razor View Engine, ориентированный на область aspx

Я делаю одну область в приложении MVC5, которая содержит отчеты в aspx.

Я могу получить доступ к этой странице благодаря этому URL-адресу:

http://localhost:28790/Areas/Reporting/Reporting.aspx

Но теперь, как я могу сделать эту ссылку в моем представлении бритвы, в стиле MVC (например, со ссылкой действия)?

я уже пробовал

@Html.ActionLink("Reporting", "Index", "Reporting", new { area = "Reporting" }, null)

Но ссылка ошибочна: я получаю сообщение на экране...

Вот прописка участка:

public override void RegisterArea(AreaRegistrationContext context) 
        {
            context.MapRoute(
                "Reporting_default",
                "Reporting/{controller}/{action}/{id}",
                "~/Reporting.aspx"
            );
        }

Я больше ничего не делал для настройки маршрутизации

Спасибо помог мне


person clement    schedule 17.02.2015    source источник


Ответы (1)


Я осмотрелся и не уверен, что есть встроенный способ сделать это, но вы можете использовать метод здесь Url.Action(), который может помочь.

<a href="@(Url.Action("Index", "Reporting", new { area = "Reporting" }) + ".aspx")">Reporting</a>

Url.Action создаст ссылку /Areas/Reporting/Reporting, а затем вы просто добавите .aspx в конец href.

person ediblecode    schedule 17.02.2015
comment
хорошо, но нет.. это дает мне ‹a href=.aspx›Reporting‹/a› Может быть, он не хочет делать ссылку, потому что знает, что это невозможно... - person clement; 17.02.2015
comment
ты редактировал что-то кроме меня? Я только что отредактировал маршрут области - person clement; 17.02.2015
comment
URL-адрес localhost:28790/Areas/Reporting/Reporting.aspx, обычно без маршрутизации , он должен выполняться для localhost:28790/Reporting/Reporting.aspx, но не... почему ? - person clement; 18.02.2015