У меня есть действие, которое берет в строке, которая используется для получения некоторых данных. Если эта строка не приводит ни к каким возвращаемым данным (возможно, потому что она была удалена), я хочу возвратить 404 и отобразить ошибочную страницу.
Я в настоящее время просто использую, возвращают специальное представление, которые отображают дружественное сообщение об ошибке, характерное для этого действия, говоря, что объект не был найден. Это хорошо работает, но идеально хотело бы возвратить 404 кода состояния, таким образом, поисковые системы знают, что это содержание больше не существует и может удалить их из результатов поиска.
Что лучший способ состоит в том, чтобы пойти об этом?
Действительно ли это столь же просто как установка Response. StatusCode = 404?
Есть несколько способов сделать это,
throw new HttpException (404, «Некоторое описание»);
Я использую:
Response.Status = "404 NotFound";
Это работает для меня: -)
Например, в NerdDinner. Попробуйте it
public ActionResult Details(int? id) {
if (id == null) {
return new FileNotFoundResult { Message = "No Dinner found due to invalid dinner id" };
}
...
}