Url.Action не вызывает действие - PullRequest
0 голосов
/ 05 января 2012

У меня есть следующий код:

Вид:

<li>
    <a href="<%=bannerImage.Url%>">
    <img src='<%=Url.Action("GetImage", "Image", new {imageName = bannerImage.Image})%>'></a>
</li>

Контроллер:

public ActionResult GetImage(string imageName)
{
    var folder = ConfigurationManager.AppSettings["ImagesFolder"];
    return File(folder + imageName, "image/jpg");
}

GetImage никогда не стреляет.
Где ошибка?

Сообщение FireBag: "NetworkError: 500 Internal Server Error - http://localhost:8178/error?action=GetImage&controller=Image&imageName=9bbc2035-f753-4212-985b-b6e689150529.Jpeg"

EDIT:
Мои маршруты:

routes.MapPageRoute("Error", "error", "~/Error.aspx");

            routes.MapRoute(
                "Cinema Full", // Route name
                "{city}/cinema/{id}/{action}/{subaction}", // URL with parameters
                new { city = "astana", controller = "Cinema", action = "Overview", subaction = UrlParameter.Optional }, // Parameter defaults
                new { city = new CityConstraint() }
            );

            routes.MapRoute(
                "Cinema", // Route name
                "{city}/cinema", // URL with parameters
                new { city = "astana", controller = "Cinema", action = "Index" }, // Parameter defaults
                new { city = new CityConstraint() }
            );

            routes.MapRoute(
                "Default", // Route name
                "{controller}/{action}/{subaction}", // URL with parameters
                new { controller = "Home", action = "Index", subaction = UrlParameter.Optional } // Parameter defaults
            );

1 Ответ

0 голосов
/ 05 января 2012

Я думаю, что вспомогательный URL-вызов Url.Action ("GetImage", "Image", new {imageName = bannerImage.Image}) генерирует неправильный URL-адрес с использованием первой конфигурации маршрутизации.Попробуйте добавить маршрут (в начале):

    routes.MapRoute(
        "ImageGen", // Route name
        "images/{imageName}", // URL with parameters
        new { controller = "Image", action = "GetImage"} // Parameter defaults
    );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...