📅  最后修改于: 2023-12-03 15:38:12.958000             🧑  作者: Mango
在 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
:请求的协议(http
或 https
)。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。