Próbuję wywołać częściowy widok w div po kliknięciu. Napisałem to
@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>
w moim Index.cshtml. mój kontroler wygląda następująco:
public ActionResult Index()
{
return View();
}
public PartialViewResult Second()
{
return PartialView("Second.cshtml");
}
ale mój błąd mówi, że mojego częściowego widoku nie można znaleźć w:
~/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
ale mam to switchPartial teczka..
Jeśli napiszę @Html.Partial("Second")
w moim div poprawnie oddaje mój częściowy widok
Co zrobiłem źle?
Odpowiedzi:
4 dla odpowiedzi № 1Nie trzeba dołączać rozszerzenia pliku na końcu częściowej nazwy. Próbować:
return PartialView("Second");
Nie dołączając rozszerzenia pliku, każdy z zarejestrowanych ViewEngines
ma możliwość rozwiązania problemu z żądanym widokiem (być w Second.cshtml
, Second.vbhtml
lub Second.aspx
).