0

そのため、この投稿では、ASP.NETアプリケーションで実際にURL書き換えを実装して、「わかりやすいURL」を取得する方法について説明しました。これは完璧に機能し、ユーザーを特定のページに送るのに最適ですが、参照されているツールの1つを使用して、コード内に「フレンドリー」なURLを作成するための優れたソリューションを知っている人はいますか?

たとえば、書き換えルールが存在する場合にasp.netコントロール内のリンクを〜/ mypage.aspx?product = 12としてリストすると、2つの異なる方法でコンテンツにリンクするため問題になります。

私はDotNetNukeとFriendlyUrlの使用に精通しており、リライターからフレンドリUrlコードを取得する「NavigateUrl」メソッドがありますが、UrlRewriting.netまたは他のソリューションでこれを行う方法の例は見つかりません。そこの。

理想的には、このようなものを手に入れたいです。

string friendlyUrl = GetFriendlyUrl("~/MyUnfriendlyPage.aspx?myid=13");

編集:私は一般的な解決策を探しています。私のサイトのすべてのページに実装する必要があるものではなく、反対方向のルールに一致する可能性のあるものを探しています。

4

2 に答える 2

3

System.Web.Routingを参照してください。

ルーティングは書き換えとは異なります。この手法を実装するには、ページを少し変更する必要があります (つまり、クエリ文字列パラメーターにアクセスするコードを変更する必要があります) が、定義したルートに基づいてリンクを生成できます。ASP.NET MVC で使用されますが、任意の ASP.NET アプリケーションで使用できます。

ルーティングは .Net 3.5 SP1 の一部です

于 2008-09-17T20:28:03.337 に答える
0

次のように、各ページのメソッドを使用して UrlBuilder クラスを作成します。

public class UrlBuilder
{
    public static string BuildProductUrl(int id)
    {
        if (true) // replace with logic to determine if URL rewriting is enabled
        {
            return string.Format("~/Product/{0}", id);
        }
        else
        {
            return string.Format("~/product.aspx?id={0}", id);
        }
    }
}
于 2008-09-17T20:27:32.277 に答える