Вам необходимо вернуть RedirectToAction()
, чтобы выполнить перезапись URL-адреса ...
return this.RedirectToAction(action, controller);
Существует целый ряд перегрузок для указания идентификаторов, значений маршрутов и т. Д. ...
Что касается поиска в базе данных, это будет зависеть от вашей модели доступа к данным.Предполагая Entity Framework или Linq, это будет что-то вроде:
DataClasses1DataContext dc = new DataClasses1DataContext();
var record = from a in dc.GetTable<Order>() select id, username;
Чтобы уточнить, как работает MVC ...
Я беру URL-адрес, такой как http://example.com/controller/action/id
или http://example.com/area/controller/action/id
и вызывает соответствующий метод действия на указанном контроллере.Обычно вы возвращаете представление, однако вы можете отправить много специальных типов данных обратно для различных результатов, например, JSON Data, HTTP Redirects и т. Д.
Если в URL-адресе отсутствует область / контроллер / действие,используются значения по умолчанию для маршрута.
Итак ...
Если вы просто хотите отобразить соответствующую страницу, вы можете оставить URL-адрес как http://example.com/1234
, пока действие / контроллер по умолчаниюимеет код для отображения соответствующего представления.
Если вы хотите изменить URL-адрес по эстетическим соображениям, у вас будет контроллер / действие по умолчанию, принимающее Id и возвращающее RedirectToAction
, которое указывает на контроллер /Действие для нужного URL.
Стоит отметить, что он сгенерирует минимально возможный URL-адрес, поэтому, если на вашем контроллере по умолчанию будет 2 действия:
HomeController -> Index(int id)
HomeController -> ShowDetails(int id)
URL-адрес дляиндекс будет выглядеть примерно так:
http://example.com/1234
при перенаправлении на ShowDetails URL будет выглядеть следующим образом:
http://example.com/ShowDetails/1234
Если бы ShowDetails находился в другом элементе управления (не по умолчанию)иначе вы получите что-то вроде этого:
http://example.com/OtherController/1234
Это предполагает, что маршруты следуют стандартному формату /Controller/Action/Id
.Само собой разумеется, регистрируя различные маршруты, он меняет параметры соответствующим образом.
Надеюсь, это поможет?