Właśnie zacząłem używać Html.RenderPartial (usercontrol, model) do renderowania moich kontrolek użytkownika. Czy można zmienić tę funkcję, aby wyświetlać obraz ładujący Ajax podczas ładowania częściowego widoku?Renderowanie widoków częściowych w MVC 3 z obrazem ładującym Ajax
EDYCJA: Próbowałem tego, ale nie mogłem go uruchomić. Mam częściowy widok tak (_FixtureList.cshmtl):
@model List<Areas.Gameplan.Models.Fixture>
@foreach (var item in this.Model)
{
<tr>
<td class="teamgrid">@Html.Encode(item.Week)</td>
<td><img src='@Html.Encode(item.Logo)' alt="Logo" /></td>
<td class="teamgrid">@Html.Encode(item.Opponent)</td>
<td class="teamgrid">@Html.Encode(item.Result)</td>
</tr>
I to jest obecnie, jak ja renderowania strony:
public ActionResult Cincinnati()
{
//renderpartial
List<Fixture> lstFixtures = _Base.DataRepository.GetFixtureList("2017", "Cincinnati");
return View(lstFixtures);
}
}
I to jest odpowiednia część mój widok (Cincinnati.cshtml):
@model List<Areas.Gameplan.Models.Fixture>
@{
ViewBag.Title = "Cincinnati Bengals";
Layout = "~/Areas/Gameplan/Views/Shared/_Layout.cshtml";
}
<div id="bigborder">
<p>
<br />
<div class="sidebarleftteam">
<div id="divFixtures">
<table id='tblFixtures' align='center'><tr><th><img src='../../../../Content/Images/Gameplan/fixtureweek.jpg' /></th><th><img src='../../../../Content/Images/Gameplan/fixtureopponent.jpg' /></th><th/><th><img src='../../../../Content/Images/Gameplan/fixturescore.jpg' /></th></tr>
@{ Html.RenderPartial("_FixtureList", this.Model); }
</table>
Jak mogę zastosować Twój przykład do tego kodu?
EDIT:
Zdobione, to jak to zrobiłem:
public ActionResult MyPartial()
{
List<Fixture> lstFixtures = _Base.DataRepository.GetFixtureList("2016", "Cincinnati");
return PartialView("_FixtureList", lstFixtures);
}
I w widoku:
$.ajax(
{
type: 'POST',
async: true,
contentType: 'application/json; charset=utf-8',
dataType: 'html',
url: 'MyPartial',
beforeSend: function (xhr) {
$('#mydiv').addClass('ajaxRefreshing');
xhr.setRequestHeader('X-Client', 'jQuery');
},
success: function (result) {
$('#mydiv').html("<table id='tblFixtures' align='center'><tr><th><img src='../../../../Content/Images/Gameplan/fixtureweek.jpg' /></th><th><img src='../../../../Content/Images/Gameplan/fixtureopponent.jpg' /></th><th/><th><img src='../../../../Content/Images/Gameplan/fixturescore.jpg' /></th></tr>" + result + "</table>");
},
error: function (error) {
alert(error);
},
complete: function() {
$('#mydiv').removeClass('ajaxRefreshing');
}
});
Czy możesz opracować niewiele, co próbujesz osiągnąć? – VJAI