2
我有以下型號:Html.ActionLink魔術
public class AccountDetailsViewModel
{
public Guid ID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
然後我的AccountController與followign行動
public ActionResult Details(Guid? id)
{
var model = new AccountDetailsViewModel
{
ID = 2,
FirstName = "FirstName",
LastName = "LastName"
};
return View(model)
}
而且極力爲這一行動
@model AccountDetailsViewModel
...
@Html.ActionLink("My Page", "Details", "Account")
...
//display info about user
的想法類型視圖是當用戶訪問帳戶/詳細信息url沒有ID參數時,他自己的信息顯示,並且當id存在顯示有關該用戶的URL信息。
問題是,當用戶訪問帶有id(某人的其他頁面)的url時,鏈接我的頁面(位於視圖頂部)指向同一頁面。 ActionLink需要當前顯示的用戶的ID,這是一個問題,因爲我希望我的頁面鏈接始終指向帳戶/詳細信息(到我的頁面)。 ActionLink的這個ID不是來自@Model,因爲我首先想到了它,它看起來像是我不熟悉的其他魔法。
與其他頁面有同樣的問題。
那麼發生了什麼以及如何防止這種類型的行爲?
謝謝,它的工作原理。除了new {id =「」})實現這個(清除id參數)的其他方式是什麼? –
@TarasBilynskyi,這是最簡單的方法。我唯一知道的另一種方法是創建自己的幫助程序,清除RouteData。有關更多詳細信息,請參閱此處:http://stackoverflow.com/q/1148443/74022 – Brandon