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