2017-02-14 11 views
2

На моей странице сведений о клиенте у меня есть кнопка для редактирования записи клиента, которая перенаправляется на страницу редактирования. У меня есть ссылка «вернуться к клиентской детали» на странице редактирования, которую я хочу перенаправить пользователя на предыдущую страницу подробностей клиента.Вернуться на предыдущую страницу в ASP.Net Core MVC

<a asp-controller="Client" asp-action="Detail" asp-route-id="@Model.ClientID">Return to client detail</a> 

В настоящее время это работает, как ожидалось, но требует дополнительного времени, как это перегружает детализированную страницу с нуля (т.е. работают все различные БД запросов снова). Поскольку пользователь действительно отменяет редактирование без каких-либо изменений состояния клиента, я хочу вернуть пользователя на предыдущую страницу подробностей без необходимости повторять действие контроллера.

По сути, я хочу, чтобы имитировать кнопку назад браузера (чтобы улучшить отзывчивость), но я не уверен, как это реализовать или это хорошая практика. Некоторые рекомендации будут оценены.

Благодаря

+1

на мыши ссылки выполните javascript 'history.go (-1)'. Это заставит браузер сделать один шаг назад в истории. –

+0

Так в чем проблема с запуском ваших запросов снова? – trailmax

ответ

3

Вы можете использовать

<a href='javascript:history.go(-1)'>Return to client detail</a> 

или OnClick

<a href="##" onClick="history.go(-1); return false;"> Return to client detail</a> 
0

Это должно быть, как это

<input type="button" onclick= "history.go(-1)" value="Return to client detail" /> 
0

Я думаю, что вам нужно, чтобы избавиться от идея прохождения контроллер. Если вам нужно просмотреть самый быстрый с помощью базового кода asp net о href, вы можете попробовать это.

<a asp-area="" onclick="history.go(-1);">Return to client detail</a> 
3

U знаете что? Я ненавижу JS, поэтому я напишу ответ со стороны сервера. HTTP-referer - это поле заголовка HTTP, которое идентифицирует адрес веб-страницы, связанный с запрашиваемым ресурсом. Так просто прочитать, что и передать для просмотра (всегда помните о XSS и проверки, пользователь может Исли spoof запрос HTTP)

В контроллере действия

if(Request.Headers["Referer"] != null) 
{ 
    ViewData["Reffer"] = Request.Headers["Referer"].ToString(); 
} 

Ввиду (бритвы)

@if(!string.IsNullOrWhiteSpace(ViewData["Reffer"])) 
{ 
    <a href="@ViewData["Reffer"]">Return to client detail</a> 
} 
+0

Я пробовал это, и хотя он все подключается нормально, он не решает проблему, потому что при нажатии на гиперссылку соответствующее действие контроллера отключается – OjM