Перенаправление на div на странице с #

#c# #asp.net-core

#c# #asp.net-ядро

Вопрос:

Я хочу перенаправить на определенный div веб-страницы после обработки некоторых данных в контроллере. Есть ли у них какой-либо способ добавить ‘#’ в конец URL-адреса? Или я должен обработать это с помощью javascript?

Пример:

 [HttpPost]
public async Task<IActionResult> Edit(ViewModel model){
    ....
    return RedirectToAction("Info", new { id = model.Id, "#" = "item_55" });
}
 

=> Следует перенаправить на /Info/id=4#item_55

Комментарии:

1. вместо этого, отобразите страницу нормально, т.е. RedirectToAction и при попадании на эту страницу в document.ready функции используйте JQuery для прокрутки до соответствующего раздела, т.е #

2. @Aarif зачем использовать JavaScript и jQuery для чего-то, что изначально поддерживается браузерами?

Ответ №1:

RedirectToAction имеет перегрузку, которая позволяет указать фрагмент. Вот пример:

 return RedirectToAction("Info", "Controller", new { id = model.Id }, "item_55");
 

Обратите внимание, что вам также необходимо указать контроллер в качестве одного из аргументов, как я сделал выше.