なぜこれが必要ですか?このような状況を処理するための通常のMVCの方法は、異なるコントローラの異なるルートを追加し、ルート自体の中のパラメータの値を指定するか、RouteConstraint
を使用することです。
本当にがルーティングロジックを実行しているとしたら、別の方法では、すべてのクエリを処理する1つのアクションで「ルーティングコントローラ」を作成している可能性があります。このアクションコードは、パラメータ値を確認し、必要なコントローラ上の任意のアクションにリクエストをリダイレクトするためにreturn RedirectToAction(...)
を実行することができます。
UPDATE:例コード
Global.asax.csに次のデフォルトルートの作成:
// usings here...
namespace YourApp.Controllers
{
public class RouteController : Controller
{
public ActionResult Index(string pathInfo)
{
...
// programmatically parse pathInfo and determine
// controllerName, actionName and routeValues
// you want to use to reroute current request
...
return RedirectToAction(actionName, controllerName, routeValues);
}
}
}
:また、次の内容でコントローラクラスRouteController.csを追加
routes.MapRoute(
"Default", // Route name
"{*pathInfo}", // URL with parameters
new { controller = "Route", action = "Index"} // Parameter defaults
);
を
私はそれを行うための通常の方法に精通しているんだけど、我々は唯一のドメインの後のurlに優しいページ名をしたい顧客を持っています。 –
2番目の方法の例で私の答えを更新しました –