我想从
_Layout
页面打开静态 html(帮助)文件。我已经添加了
<a class="btn btn-green" target="_blank" href="spexhelp.cshtml">Help</a></div>
但这不起作用。如何访问该网址并在新页面中打开?
要回答你的问题,你不能直接从锚标记中调用
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>