我有一個問題,我希望以不同的方式顯示視圖(不同的母版頁),具體取決於它來自哪裏,但不知道在哪裏開始...使用通配符重定向到控制器(但使用不同的主控制器)
我有幾條路線,它們會捕獲包含不同結構的各種不同類型的網址。
在下面的代碼片段中,我有一個產品路線,然後我有一個合作伙伴網站路線,也可以轉到產品頁面,但讓我們說這個合作伙伴是百事可樂,他們希望他們的品牌頁面,而不是我們自己的默認樣式。可以說我去products/cola.htm。這應該與partners/pepsi/products/cola.htm的URL相同,並且PartnerRedirect將能夠基於通配符處理url,方法是將url通配符(本例中爲「products/cola.htm」)轉換爲控制器操作,並轉發用戶,(但只需更改視圖中的母版頁)。
routes.MapRoute(
"Product",
"products/{product}.htm",
new { controller = "Product", action = "ShowProduct" }
);
routes.MapRoute(
"ProductReview",
"products/{product}/reviews.htm",
new { controller = "Product", action = "ShowProductReview" }
);
routes.MapRoute(
"Partner",
"partners/{partner}/{*wildcard}",
new { controller = "Partners", action = "PartnerRedirect" }
);
這可能嗎?如果是這樣,怎麼樣?
非常感謝提前。