例如我有一個需求,使用@Html.ActionLink實現不一樣功能之間的跳轉,有部分Control是在Area之下,這種時候咱們應該如何實現區域間的跳轉呢?微信
錯誤用例:微信支付
<ul class="nav navbar-nav"> <li>@Html.ActionLink("主頁", "Index", "Home")</li> <li>@Html.ActionLink("退款申請用例", "Index", "Refund")</li> <li>@Html.ActionLink("微信掃一掃用例", "Index", "ScanQRCode")</li> </ul>
因爲個人RefundControl存在於WxPay這個區域下,上述寫法會提示說找不到Refund這個頁面,也對上述寫法生成的完整連接是 /Refund,而正確連接是 /WxPay/Refund,天然是找不到了,此時咱們能夠經過定義Html.ActionLink的RouterValues屬性來實現跳轉,以下:spa
<div class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li>@Html.ActionLink("主頁", "Index", "Home")</li> <li>@Html.ActionLink("網頁受權用例", "Index", "LoginAuth", new { Area = "" }, null)</li> <li>@Html.ActionLink("消息羣發用例", "Index", "MsgSend", new { Area = "" }, null)</li> <li>@Html.ActionLink("微信支付用例", "Index", "Products", new { Area = "WxPay" }, null)</li> <li>@Html.ActionLink("退款申請用例", "Index", "Refund", new { Area = "WxPay" }, null)</li> <li>@Html.ActionLink("微信掃一掃用例", "Index", "ScanQRCode", new { Area = "" }, null)</li> </ul> </div>
爲何「網頁受權用例」也須要設置Area屬性呢?並且值還爲空。code
這是由於咱們在點擊完帶Area屬性的功能,再去點擊不帶Area屬性的功能時會沿用上一個頁面的Area屬性,因此咱們要有個清空操做。blog