2016-02-26 2 views
0

В моем контроллере ASP MVC Я хочу, чтобы перенаправить на другой контроллер и действие с идентификатором:Перенаправление на другое действие с идентификатором

int thisEvent = 20; 
return Redirect("event/details/?id=" + thisEvent); 

Он должен перенаправлять к /событию/подробности/ид = 200? или /event/details/20 По какой-то причине он не работает.

Я получаю эту ошибку:

Redirect URI cannot contain newline characters

+0

'вернуть RedirectToAction («детали»,«событие», новый {идентификатор = thisEvent} ' –

ответ

1

Вместо конкатенации URI можно использовать RedirectToAction, обеспечивают контроллер и действие имена, а также параметры, переданных в действие, и пусть маршрутизация двигателя создать перенаправление URI для вас.

Здесь я предположив из вашего URI, что ваш контроллер имеет имя EventController и действие вы Перенаправление на имя имеет Details:

return RedirectToAction("Details", "Event", new { id = thisEvent }); 
+0

Я получаю неверный запрос HTTP 400. Но URL-адрес существует, так как я могу посетить его вручную: event/details/20 –

+1

Хмм .... что является результатом' Url.Action («Подробности», Событие ", новый {id = thisEvent});' под отладчиком в том же месте, где вы пытаетесь перенаправить? Вероятно, это некоторая опечатка здесь в именах контроллеров/действий. –