У меня есть частичное представление, содержащееся на веб-странице, которая загружает несколько миниатюрных изображений в установленном порядке. При нажатии на миниатюру я хочу перезагрузить список с миниатюрой, на которую щелкнули, став первым изображением, за которым следует остальная часть списка по порядку, без перезагрузки остальной части веб-страницы.
My PartialView содержит следующий код, который загружает миниатюры и присваивает каждому Url.Action
.
<% foreach (var image in (ImageModel)ViewData.Model) { %>
<a href='<%= Url.Action("ImageList", "ImageView", new { imageFolderName = image.Folder, imageFile = ImageHelper.GetImageName(image.Path) }, null) %>'>
<img src="/images/<%= image.Path %>" height="<%=(image.Height/4).ToString() %>" width="<%=(image.Width/4).ToString() %>" alt="" /></a>
<% }%>
Мой контроллер имеет ActionResult
для первоначальной загрузки частичного представления при загрузке содержащей страницы. Я также включил метод, возвращающий PartialViewResult
.
открытый класс ImageViewController: Controller
public ActionResult ImageView(string imageFolderName, string imageFile)
{
return View(new ImageModel(imageFolderName, imageFile));
}
public PartialViewResult ImageList(string imageFolderName, string imageFile)
{
return PartialView(new ImageModel(imageFolderName, imageFile));
}
Если я установлю Url.Action
в («ImageList», «ImageList» ... миниатюры обновляются именно так, как я хочу, но обновляется вся страница, а не только частичное представление.
Когда я устанавливаю Url.Action
в ("ImageList", "ImageView" ... вместо частичного просмотра обновленной содержащей страницы, содержащая страница исчезает, а частичная страница загружается без него. Я вижу все свои эскизы в правильном порядке на пустой белой веб-странице.
Я новичок, и я не смог разобраться в jQuery или Ajax Q и A о PartialViews таким образом, чтобы это применимо к этому сценарию.
Что хорошего в методе контроллера, который возвращает PartialView, если он загружает новую веб-страницу, вместо того, чтобы просто обновить частичное представление внутри содержащей его страницы?
И есть ли какие-либо документы или объяснения, которые показывают, как это можно сделать?