私はWebアプリケーションプロジェクトを使用しています。
WebルートにUsersという名前のフォルダーがあり、そのフォルダーにUserList.aspxというページがあります。
私ができるようにしたいのは、Response.Redirect(Users.UserList.URL)と入力することです
私がおそらくできると思うのは、Pageを拡張するクラスを作成し、MethodInfo.GetCurrentMethod()。ReflectedType(これはテストされていないと思います)を呼び出すURLという静的プロパティを追加してから、Users.UserList->を変換することです。 〜/ Users / UserList.aspx
私が知っているこのメソッドの問題は、すべてのページを調べて基本クラスを拡張する必要があることであり、「-」文字を含むページでは機能しません。
利点は、ページを移動してもリンク切れが発生しないことです(名前空間が間違っているページがある場合、Resharperはそれを提供します)。
また、クエリ文字列paramsを受け取るすべての個々のページに静的メソッドを設定できるため、paramsを追加/削除する場合は、それらのparamsなどを使用するものを確認できます。また、そのページを呼び出す場合は、チェックする必要はありません。パラメータの名前(例:UserId userId、Id、id)。したがって、Users.ViewUser.GetUrl(1)->〜/ Users / ViewUser.aspx?UserId=1のようになります。
だから問題は:これを行うためのより良い方法はありますか?それとも、これは原則として悪い考えですか?