部分视图'First.cshtml'未找到或没有视图引擎支持搜索的位置。

5

我正在尝试在单击时调用部分视图以显示在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"),它会正确地呈现我的局部视图。

我做错了什么?

1个回答

6
不需要在局部名称的结尾处包括文件扩展名。 尝试:
return PartialView("Second");

不包括文件扩展名,每个注册的ViewEngines都有机会解析请求的视图(无论是Second.cshtmlSecond.vbhtml还是Second.aspx)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接