4

我想在点击部分视图中调用div。我写了这个未找到部分视图'First.cshtml'或没有视图引擎支持搜索的位置

@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")它正确呈现我的部分视图

我做错了什么?

回答

4

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

return PartialView("Second"); 

通过不包括文件的扩展名,每个注册ViewEngines的给予其机会,以解决请求的视图(在Second.cshtmlSecond.vbhtmlSecond.aspx)。

相关问题