Примечание : Ниже приведен небольшой демонстрационный пример для имитации того, что я ищу:
Ниже приведен формат URL в моем приложении, который может видеть пользователь
mydomain.com/cat/1 --display cat with id 1 |controller=Cat, action=DisplayDetails
mydomain.com/dog/2 --display dog with id 2 |controller=Dog, action=DisplayDetails
mydomain.com/cow/2 --display cow with id 3 |controller=Cow, action=DisplayDetails
Я поддерживал систему, в которой никакие 2 животных (могут быть разного вида) могут иметь одинаковый идентификатор, это означает, что если есть кошка с id = 1, у нас не может быть другого животного с таким идентификатором. Также из моей системы я могу извлечь данные о животных + тип только из идентификатора животного
Помимо существующего шаблона URL, я планирую создать короткий URL в формате, указанном ниже
mydomain.com/1 --this will show cat
mydomain.com/2 --this will show dog
mydomain.com/3 --this will show cow
Маршруты, которые я создал, описаны ниже, и они выглядят в том же порядке в global.asax
pattern= Cat/{id}, controller= Cat, action=DisplayDetails
pattern= Dog/{id}, controller= Dog, action=DisplayDetails
pattern= Cow/{id}, controller= Cow, action=DisplayDetails
pattern= {id}, controller= DisplayAnyAnimal ----------i want help in this Route
В настоящее время контроллер выглядит следующим образом
public class DisplayAnyAnimalContoller : Controller
{
public ActionResult Index(string animalId)
{
//iam processing request here from animalId
//now i know which contoller+action needs to be executed
//say for instant i have to display dog with id=2
//currently iam doing this to redirect and its working fine,
//but it changes url
-----------------------------------------------
#########################
### i need help here ###
#########################
return RedirectToRoute(new {contoller="Dog",action="DisplayDetails",id=2 });
-----------------------------------------------
}
}
Теперь проблема с RedirectToRoute
/ RedirectToAction
в том, что они оба меняют URL. Но я не хочу менять свой шаблон URL.
Пожалуйста, предложите мне, как этого достичь, вы можете предложить какой-то совершенно другой способ достичь этого