Кто-нибудь знает, как я могу перенаправить все запросы, чтобы сказать/изображения в/Содержание/изображения в MVC3? Я просто хочу определенные соглашения об именах.Как сопоставить маршруты ресурсов в ASP.NET MVC3?
Спасибо,
Кто-нибудь знает, как я могу перенаправить все запросы, чтобы сказать/изображения в/Содержание/изображения в MVC3? Я просто хочу определенные соглашения об именах.Как сопоставить маршруты ресурсов в ASP.NET MVC3?
Спасибо,
Возможно, вы хотели бы, чтобы пользователь постоянно переадресовывает? Кто-то уже задал тот же вопрос, и ответ есть: Permanent Redirect Legacy Routes for static files in ASP.Net MVC
Лучший ответ, который я могу дать, - никогда не пытаться запрашивать контент непосредственно из самого представления.
Скорее создайте HTML-помощники для обработки этих запросов и укажите только фактический путь к файлам в этих помощниках. Таким образом, когда вещи неизбежно движутся вокруг, вы меняете путь один раз в своем помощнике, и каждый вид просто работает. это пример моего помощника по изображению, я думаю, что я украл это у Роба Конери и его потрясающего образца Tekpub MVC.
В этом классе я объявляю статические переменные pubdir (для моего каталога содержимого) и imageDir (для моего изображения вложенной в моем каталоге содержимого)
public static string Image(this HtmlHelper helper, string fileName, string attributes)
{
fileName = string.Format("{0}/{1}/{2}", pubDir, imageDir, fileName);
if (string.IsNullOrEmpty(attributes))
{
return string.Format("<img src='{0}'/>", helper.AttributeEncode(fileName));
}
var temp = string.Format("<img src='{0}' '{1}' />", helper.AttributeEncode(fileName), helper.AttributeEncode(attributes));
return temp;
}
Я перегружен это другим способом, когда все у меня есть имя файла ,
public static string Image(this HtmlHelper helper, string fileName)
{
return Image(helper, fileName, "");
}
Теперь, когда я хочу, изображение, на мой взгляд, я называю
@Html.Image("hello.jpg")
Все, что я указать имя файла, а тег изображения возвращается ко мне. Вы можете принять это еще (если хотите) и сделать метод HelloImage, который не принимает аргументов, где вы указываете имя файла в фактическом методе, если изображение когда-либо переименовано.
Я сделал это для вещей, таких как баннеры и логотипы, которые используются повторно. Я начал делать то же самое и для actionlinks, в случае, если контроллеры, действия и области будут перемещены или переименованы.
http://codingsmith.co.za/extending-the-actionlink-helper-in-mvc/
Как насчет изображений, связанных с css-файлами? Они отвечают на вопрос ОП, но не этот ответ. – ANeves
Как генерируются эти запросы? У вас есть какой-то унаследованный сайт, для которого вы хотите изменить URL? –