【问题标题】:The partial view 'First.cshtml' was not found or no view engine supports the searched locations未找到部分视图“First.cshtml”或没有视图引擎支持搜索到的位置
【发布时间】:2015-04-24 14:19:32
【问题描述】:

我试图在点击时调用 div 中的部分视图。我写了这个:

@Ajax.ActionLink("Second", "Second", new AjaxOptions()
{
    HttpMethod = "GET",
    UpdateTargetId = "partials",
    InsertionMode = InsertionMode.Replace
})

<div id="partials">
</div>

<script src="https://code.jquery.com/jquery-2.1.3.min.js" type="text/javascript"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/additional-methods.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/mvc/5.2/jquery.validate.unobtrusive.min.js" type="text/javascript"></script>

在我的Index.cshtml. 中,我的控制器如下所示:

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

        public PartialViewResult Second()
        {

            return PartialView("Second.cshtml");
        }

但我的错误提示我的部分视图在以下位置找不到:

~/Views/switchPartial/Second.cshtml.aspx
~/Views/switchPartial/Second.cshtml.ascx
~/Views/Shared/Second.cshtml.aspx
~/Views/Shared/Second.cshtml.ascx
~/Views/switchPartial/Second.cshtml.cshtml
~/Views/switchPartial/Second.cshtml.vbhtml
~/Views/Shared/Second.cshtml.cshtml
~/Views/Shared/Second.cshtml.vbhtml

但我在 switchPartial 文件夹中有它。

如果我在 div 中写入 @Html.Partial("Second"),它会正确呈现我的局部视图。

我做错了什么?

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-4 razor partial-views asp.net-mvc-ajax


    【解决方案1】:

    不需要在部分名称的末尾包含文件扩展名。试试:

    return PartialView("Second");
    

    通过不包括文件扩展名,每个注册的ViewEngines 都有机会解析请求的视图(位于Second.cshtmlSecond.vbhtmlSecond.aspx)。

    【讨论】:

      猜你喜欢
      • 2014-03-30
      • 1970-01-01
      • 1970-01-01
      • 2013-06-23
      • 2013-08-18
      • 1970-01-01
      • 2015-07-09
      • 2017-03-09
      • 1970-01-01
      相关资源
      最近更新 更多