Я использую проект веб-приложения.
У меня в корневом веб-каталоге есть папка Users, а в папке - страница UserList.aspx
Что я хочу сделать, это ввести Response.Redirect (Users.UserList.URL)
Вероятно, я могу создать класс, который расширяет Page и добавить статическое свойство с именем URL, которое вызывает MethodInfo.GetCurrentMethod (). ReflectedType (я думаю, что это не проверено), а затем преобразовать пользователей. UserList -> ~ / Users / UserList.aspx
Проблемы с этим методом, о котором я знаю, это то, что мне нужно пройти через каждую страницу и сделать так, чтобы он расширял базовый класс, и он не работает с любыми страницами, которые содержат символ '-'.
Преимущества состоят в том, что если страницы перемещаются, то нет никаких битых ссылок (Resharper выдает, когда есть страница с неправильным пространством имен).
Кроме того, каждая отдельная страница, которая принимает параметры строки запроса, может иметь статический метод, так что если я захочу добавить / удалить параметры, я смогу увидеть, что использует эти параметры и т. Д.
Также, если я хочу вызвать эту страницу, мне не нужно проверять название параметров, например, UserId userId, Id или id. Так что это будет выглядеть примерно как Users.ViewUser.GetUrl (1) -> ~ / Users / ViewUser.aspx? UserId = 1
Так что вопрос: есть ли лучший способ сделать это? Или это плохая идея в принципе?