在mvc应用程序中找不到部分文件

时间:2016-06-03 09:26:11

标签: asp.net-mvc asp.net-mvc-partialview

我收到了以下错误。

  

System.Web.Mvc.dll中发生了'System.InvalidOperationException'类型的异常,但未在用户代码中处理

     

其他信息:未找到部分视图“../Shared/Partial/_ReferencePartial.cshtml”或视图引擎不支持搜索的位置。搜索了以下位置:

我在Area/Admin有登录控制器。在Login.cshtml视图文件中,我引用了包含对脚本文件的引用的Partial View文件。此文件位于文件夹Solution/Project/Views/Shared/Partial

以下是我的Login.cshtml查看文件代码。

@{
    Layout = null;
}
<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>@Messages.Login</title>

    @Html.Partial("../Shared/Partial/_ReferencePartial.cshtml")
</head>
...

1 个答案:

答案 0 :(得分:0)

如果要直接在主视图中加载局部视图,可以使用Html.Action帮助器:

@Html.Action("Load", "Home")

或者如果您不想通过“加载”操作,请使用HtmlPartial hepler:

@Html.Partial("_LoadView")

如果您想使用Ajax.ActionLink,请将Html.ActionLink替换为:

@Ajax.ActionLink(
    "load partial view", 
    "Load", 
    "Home", 
    new AjaxOptions { UpdateTargetId = "result" }
)

当然,您需要在页面中包含一个显示部分的持有者:

<div id="result"></div>

另外不要忘记包括:

<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
在主视图中

以启用Ajax.*帮助程序。并确保在web.config中启用了不显眼的javascript(默认情况下应该是这样):

<add key="UnobtrusiveJavaScriptEnabled" value="true" />