如何在 ASP.NET MVC 中使用锚标记从共享文件夹打开静态 html

问题描述 投票:0回答:1

我想从

_Layout
页面打开静态 html(帮助)文件。我已经添加了

<a class="btn btn-green" target="_blank" href="spexhelp.cshtml">Help</a></div>

但这不起作用。如何访问该网址并在新页面中打开?

enter image description here

c# asp.net-mvc
1个回答
0
投票

要回答你的问题,你不能直接从锚标记中调用

View
,因为它不符合MVC模式的租户。

如果您这样做:

<a class="btn btn-green" target="_blank" href="~/Views/Shared/spexhelp.cshtml">Help</a>

这会给你一个

404
未找到错误。

因此您需要先创建一个操作方法。例如,如果我有一个

HomeController
,我将首先创建一个操作方法:

public ActionResult spexhelp()
{
    return View();
}

然后从

View
调用它,如下所示:

<a class="btn btn-green" target="_blank" href="~/Home/spexhelp">Help</a>

您还可以使用

Url.Action
助手来生成链接:

<a class="btn btn-green" target="_blank" href="@Url.Action("spexhelp", "Home")">Help</a>

控制器将在

spexhelp.cshtml
文件夹中查找
Shared
并根据需要进行渲染。

如果您不想在这种情况下为操作方法使用与视图名称相同的名称,那么您当然可以在从

View
返回它时直接传递
Controller
的名称。

例如,您可以将操作方法的名称与

View
文件名不同:

public ActionResult Help()
{
    return View("~/Views/Shared/spexhelp.cshtml");
}

您的

a
标签将是:

<a class="btn btn-green" target="_blank" href="~/Home/Help">Help</a>
© www.soinside.com 2019 - 2024. All rights reserved.