4

我的浏览器中当前显示的页面是:http://localhost:19255/Object/Browse/1.

此页面上的链接是通过以下方式创建的:@Html.ActionLink("...", "Browse", "Object")

但生成的链接实际上是:/Object/Browse/1

我对正在发生的事情的理解是 MVC 看到我的路线有一个 {id} 部分,我没有提供。所以它继续并包含了当前页面中的 {id} 部分。

很公平,但是没有它我如何创建链接呢?我试过了nullnew { id = null }但都没有奏效。

4

2 回答 2

4

虽然以下都不起作用:

@Html.ActionLink("...", "Browse", "Object", null)              // Has no effect
@Html.ActionLink("...", "Browse", "Object", new { id = null }) // Error

下面解决了这个问题:

@Html.ActionLink("...", "Browse", "Object", new { id = "" })   // No ID is passed
于 2012-06-08T21:44:47.860 回答
0

我相信 MVC 会直接从模型中提取此 ID,因为您没有指定它。我以前见过这个,但我现在没有时间验证它。

在呈现该链接之前尝试覆盖@Model.Id以查看它是否来自该链接。然后,我认为,您可以将 Id 值存储在一个新变量中,以备不时之需,并设置 @Model.Id = null。有点黑客......当然:)

于 2012-06-08T20:29:45.753 回答