MVC使用模型属性在视图上创建锚标记

本文关键字:创建 视图 模型 属性 MVC | 更新日期: 2024-04-23 18:00:11

我正在编写一个ASP.NET MVC 5应用程序,最近我在一个执行了许多操作的页面中添加了锚标记。其想法是,当您返回到索引时,您还提供了操作所属的projectID,它会将您从页面跳到与该projectID匹配的锚点。

话虽如此,我有一个页面,在其中我试图在视图上创建一个返回到主项目页面的链接,但提供了一个片段,以便它跳到适当的部分。然而,我无法使用@Html.ActionLink或任何其他方法在操作时适当地将我带到片段。我来举例说明。

<a href="~/backlog/# + @model.ProjectID"><div class="btn">Done</div></a>
@{ <a href="~/backlog/# + @model.ProjectID"><div class="btn">Done</div></a> }

这是我最近一直在尝试做的事情,但视图似乎不知道该怎么办。

然后我尝试了一种更MVC风格的方法。

@Html.ActionLink("Done", "index", "backlog", null, null, @model.ProjectID.toString());

有一个"mega"重载需要我尝试使用的七个参数,但它也不喜欢我试图以这种方式将模型属性作为片段传递。

最终,我只想推出一个简单的锚标签,一旦处理,就会出现

<a href="~/backlog/#projectID"></a>

如有可能,我们将不胜感激。

MVC使用模型属性在视图上创建锚标记

如果使用正确的重载:,您仍然可以使用ActionLink的"MVC"方法

public static MvcHtmlString ActionLink(
    this HtmlHelper htmlHelper,
    string linkText,
    string actionName,
    string controllerName,
    string protocol,
    string hostName,
    string fragment,
    object routeValues,
    object htmlAttributes
)

如果你也使用命名参数,那么人们实际上可以阅读它:

@Html.ActionLink("Done", "index", "backlog", protocol: null, hostName: null, fragment: Model.ProjectID.toString(), routeValues: null, htmlAttributes: null)

以下内容应该有效:

<a href="@Url.Action("Done")#@Model.ProjectID">backlog</a>