0

ページの開始時にDefault.aspxを別のURLにルーティングしたい。
私のglobal.asaxは次のようなものです:

protected void Application_Start(object sender, EventArgs e)
{
    RegisterRoutes(RouteTable.Routes);
}

public static void RegisterRoutes(RouteCollection routes)
{
    routes.MapPageRoute(
        "Default",                                                          // Route name
        "My Site",                                                          // URL with parameters
        "~/Default.aspx"                                                    // Parameter defaults
    );
}

私の目的のためにハンドラーを書くべきですか?
(.net 3.5とMVCのサンプルをいくつか見つけましたが、.net 4 Webフォームはどうですか)
はいの場合、どのように記述できますか?

編集:
この行は正確に何をしますか?

    routes.Add("Default", new Route(string.Empty, new RouteHandler("~/Default.aspx")));

Webフォームを使用しています->MVCではありません

前進してくれてありがとう

4

1 に答える 1

0

これは、asp.net 4.0 Webフォーム(mvc部分のすぐ下)でルーティングを処理する方法の具体例です。

http://weblogs.asp.net/scottgu/archive/2009/10/13/url-routing-with-asp-net-4-web-forms-vs-2010-and-net-4-0-series。 aspx

あなたがそれに近づく方法は素晴らしいです。ルートの2番目のパラメータにエラーがあります。おそらくエラーではありませんが、URLのスペースは実際にはエンコードされたスペースであるため、嫌いです。ガイドをチェックしてください。

あなたの編集に気づきました。ルートを追加すると、基本的にurlまたはurlパターン(string.Emptyとして問題になります)とリクエストを処理するハンドラー(実際に存在するとは思わないRouteHandlerを指定しますか?)の間のマッピングが作成されます。.netは、要求に応答するページを指定し、サイトの物理構造で定義されたセキュリティなど、他のいくつかの詳細を処理できるPageRouteHandlerを提供します。内部的には、MapPageRouteは単にroutes.Addを呼び出していますが、PageRouteHandlerを使用しています。

于 2012-07-02T20:52:09.283 に答える