質問

私がやっているのいくつかの背景

持っている私は通常のように私のページがアクセスそれに必要なURLを返します。私は、通常そのようなメソッドを持っていますので、

public partial class ProductDetails : Page
{
    public static string GetUrl(Guid productId)
    {
        return "fully qualified url";
    }
}

私の他のページ/コントロールの必要性は、私は単に

とのリンクを設定します。このページにアクセスしていること
hl.NavigateUrl = ProductDetails.GetUrl(id);

私は必ず意志の仕事じゃない何かに4.0とRANの新しいUrlRoutingのものと周りいじるんです。私は私の静的メソッドでPage.GetRouteUrlを使用しようとしている、と明らかにそれが原因ますされていない静的に吹いています。

それは私がGetRouteUrlでやっている可能性の複製だ場合は、

んと誰が知っていますか?

THX

役に立ちましたか?

解決

あなたのような何かを行うことができます

var url = ((Page)HttpContext.Current.Handler).GetRouteUrl(id);

注:他のページからこのメソッドを呼び出した場合、それはいくつかの方法で、相対的な固有だ場合には、所望の結果を得ないかもしれない...しかし、それはあなたが、私は信じている静的に得ることができるように良いようです。

他のヒント

私は上記のニックスの提案を使用して仕事にGetRouteUrlを得ています。

私もGetRouteUrlを使用してO / Wそれを行うための別の方法を発見しました。あなたは基本的にGetVirtualPathを使用して手動で生成している。

public static string GetUrl(int productId)
{
    var parameters = new RouteValueDictionary { { "productId", productId } };
    var vpd = RouteTable.Routes.GetVirtualPath(null, "product-details", parameters);
    return vpd.VirtualPath;
} 
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top