Если вы должны были закодировать функцию / метод, который для введенной строки или слага (например, в представлении «Создать» или «Редактирование») перейдет в хранилище данных и проверит, существует ли эта строка или слаг, и в этом случае создаст ссылку на него где бы вы это поместили?
Например, у нас есть текстовое поле «Ссылка» в нашей форме создания или редактирования. Я подключил к нему автозаполнение jQuery, которое извлекает существующие слагы страниц. Если пользователь решит выбрать один из них, мы создадим ссылку, которая указывает на содержимое нашего сайта, на основе контроллера страницы, например:
~/Page/Display/some-slug
или просто
~/Page/some-slug
Если, однако, пользователь решает ничего не выбирать и вводит, например, www.google.com, мы перехватываем его в нашем ParseUrl (), форматируем его с помощью http: // ... и т. Д. И сохраняем его таким образом.
Код для функции не является проблемой, и у меня он сейчас работает в Model Binder. Однако из-за странных, запутанных и противоречивых практик с DI в Model Binder я хотел бы перенести это куда-нибудь еще. Другой причиной может быть удаление кода доступа к данным из связывателей моделей.
Вопрос - куда движется такая функциональность? Если возможно, я бы хотел избежать повторения вызовов ParseUrl () для различных действий контроллера.