📜  如何在 asp.net core 中调用 html.action - Html (1)

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

如何在 ASP.NET Core 中调用 Html.Action

在 ASP.NET Core 中,我们可以通过 Html.Action 来调用指定的 Action 方法并将其渲染为 HTML。

语法
public static IHtmlContent Action(
    this IHtmlHelper helper,
    string actionName,
    string controllerName,
    object routeValues = null,
    string protocol = null,
    string hostname = null,
    string fragment = null,
    object htmlAttributes = null)

参数说明:

  • helper:视图里的 Html 转换器。
  • actionName:要调用的 Action 的名称。
  • controllerName:要调用的 Controller 的名称。
  • routeValues:传递给 Action 方法的参数。
  • protocol:请求的协议(httphttps)。
  • hostname:请求的主机名。
  • fragment:URL 的锚点。
  • htmlAttributes:传递给 HTML 元素的属性。
示例

假设我们有一个 HomeController,其中有一个 Hello 方法:

public IActionResult Hello(string name)
{
    ViewBag.Name = name;
    return View();
}

ViewBag 赋予了一个名为 Name 的属性,其值等于传递给 Action 的 name 参数。这个方法的对应的视图如下:

<h1>Hello, @ViewBag.Name !</h1>

现在,在首页 Index 页面中,我们想调用 Hello 方法并显示结果。我们可以通过调用 Html.Action 来实现:

<div>
    @Html.Action("Hello", "Home", new { name = "World" })
</div>

在此示例中,我们将 Action 名称设为 Hello,Controller 名称设为 Home,并将 name 参数设为 World@Html.Action 返回 Action 方法返回的视图的 HTML。

总结

Html.Action 将 Action 方法转换为 HTML。它可以带有自定义路由值和 HTML 属性。通过在视图中调用它,我们可以轻松地在 ASP.NET Core 中呈现 MVC Views。