Awesome ASP.net Core and MVC Controls
Custom Item Template
To use custom item template in the controller instead of setting the Items property you have to set the Content property with the prerendered html content.
The view that gets rendered must consist from 'li' tags (or 'tr' if using TableLayout) with class="awe-li" and data-val=key attributes
RenderView
is a controller extension from Omu.AwesomeMvc that renders a view and returns the result as a string.The view that gets rendered must consist from 'li' tags (or 'tr' if using TableLayout) with class="awe-li" and data-val=key attributes
AjaxListDemo/CustomItemTemplate.cshtml
@Html.Awe().AjaxList("MealsCustomItem")
Awesome/AjaxList/MealsCustomItemAjaxListController.cs
public class MealsCustomItemAjaxListController : Controller
{
public ActionResult Search(int page)
{
const int PageSize = 5;
return Json(new AjaxListResult
{
Content = this.RenderView("CustomItem", Db.Meals.Skip((page - 1) * PageSize).Take(PageSize).ToList()),
More = Db.Meals.Count > (page * PageSize)
});
}
}
MealsCustomItemAjaxList/CustomItem.cshtml
@using AwesomeMvcDemo.Models
@{
Layout = null;
}
@model IList<Meal>
@foreach (Meal meal in Model)
{
<li class="awe-li" data-val="@meal.Id">
Name: @meal.Name
<br />
Category: @meal.Category.Name
<br />
Description: @meal.Description
</li>
}
Comments