📜  带参数的 Html.ActionLink - Html (1)

📅  最后修改于: 2023-12-03 15:39:23.903000             🧑  作者: Mango

带参数的 Html.ActionLink - Html

在 ASP.NET MVC 中,Html.ActionLink() 是一个常用的辅助函数,它用于生成超链接标记,可以指向控制器和操作。通常情况下,Html.ActionLink() 方法的使用如下:

@Html.ActionLink("链接文本", "ActionName", "ControllerName")

这里的参数 "链接文本" 表示链接的显示文本,"ActionName""ControllerName" 表示要访问的控制器和操作方法的名称。

但是,当我们需要传递一些参数给操作方法时,该如何处理呢?这时候,我们就需要使用带参数的 Html.ActionLink() 方法。

基本用法

带参数的 Html.ActionLink() 方法的格式如下:

@Html.ActionLink("链接文本", "ActionName", "ControllerName", new { param1 = "参数1", param2 = "参数2" }, null)

其中,new { param1 = "参数1", param2 = "参数2" } 表示要传递的参数,可以是一个匿名对象,也可以是一个实体类型的对象。

例如,我们有一个 Student 实体类,包含 IdName 两个属性,我们希望将 IdName 参数传递给操作方法,则可以这样写:

@Html.ActionLink("链接文本", "ActionName", "ControllerName", new { id = Model.Id, name = Model.Name }, null)

这里的 Model.IdModel.Name 表示从模型中获取的 IdName 属性值,注意大小写敏感。

自定义样式

有时候,我们需要为链接添加一些自定义样式,以满足项目的特定需求。这时候,我们就可以使用 Html.ActionLink() 方法的第五个参数,即 htmlAttributes 参数,来添加自定义样式。

例如,我们希望为链接添加一个 class 属性,用于设置样式,可以这样写:

@Html.ActionLink("链接文本", "ActionName", "ControllerName", new { id = Model.Id, name = Model.Name }, new { @class = "my-link" })

这里的 new { @class = "my-link" } 表示要为链接设置的样式,注意添加 @ 符号,保证 class 属性不被解析为关键字。

完整示例

下面是一个带参数并且添加自定义样式的 Html.ActionLink() 方法的完整示例:

@Html.ActionLink("编辑", "Edit", "Student", new { id = Model.Id, name = Model.Name }, new { @class = "btn btn-sm btn-success" })

这里的链接文本为 "编辑",控制器和操作方法的名称为 "Student""Edit",要传递的参数为 idname,自定义样式为 "btn btn-sm btn-success"

结论

Html.ActionLink() 方法是 ASP.NET MVC 中常用的辅助函数之一,当我们需要传递一些参数给操作方法时,可以使用带参数的 Html.ActionLink() 方法。在使用过程中,我们可以根据实际需求添加自定义样式,以满足项目的特定需求。