У моего приложения уже есть общий контроллер для счетчика, который, в свою очередь, вызывает другие контроллеры, которые составляют часть строки запроса.Вызов контроллера внутри строки запроса другого контроллера MVC
SpinnerController:
public ActionResult Index() { return View();}
Spinner Посмотреть
<html>
<body onload="JsHelpers.ShowSpinner('Page loading, please wait...'); window.location=JsHelpers.GetUrlParameter('page');"></body>
</html>
Теперь мой дом-регулятора:
pubic ActionResult Index() { /*my code goes here*/ return View()}
Я разработал мастер-страницу, которая содержит ссылки называть мою HomeController через SpinnerController, поскольку мне нужно поддерживать старый поток.
Для например: Для Позвони HomeController,
@Url.Action("Index","Spinner", new {page ="home"})
Это дает мне URL: localhost/Spinner?page=home
и я определяю путь контроллера через QueryString после page
в _Layout.cshtml
, как Request.QueryString["page"]
и перенаправить его соответствующим образом (в данном случае, HomeController)
Теперь моя проблема возникает, когда мне нужно отправить вход на другой контроллер, который я хочу вызвать.
Рассмотрим, StudentController
Public ActionResult Index(int id) { /*my code goes here*/ return View()}
мне нужен URL, чтобы быть в формате localhost/Spinner?page=Student?id=2
. Я использовал @Url.Action
вместе с другими методами, с которыми у меня есть приличное знание, и не смог сгенерировать URL-адрес в вышеуказанном формате, тем самым завязав его в течение последних нескольких дней.
Так,
- Может быть, можно генерировать URL в формате, описанном выше?
- Если да, то это правильный способ добиться чего-то, и есть ли лучший способ?
Любое предложение/совет/помощь будут оценены.
Заранее спасибо.
«локальный/Spinner? Page = Student? Id = 2 "должен быть" localhost/Spinner? Page = Student & id = 2 " – hazjack
В чем причина всего этого? Почему главная страница, если у вас есть _Layout.cshtml? – greenhoorn
@ greenhoorn Два мастера и оба были сделаны различными организациями. Один из них остался, а другой был удален и предоставлен внутренней ИТ-команде – San