Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function (data) {
- /*
- * Añadimos la información obtenida (data) dentro del contenedor (#contenedor-catalogo).
- */
- $("#contenedor-catalogo").append(data);
- console.log(data);
- viewModel.lastLoadedPage(viewModel.currentPage());
- }
- <div id="here">
- <div class="container animated fadeIn">
- <!--Inicia sección menú de ordenación-->
- <ul class="list-inline order-items" style="margin:10px;">
- @{ var defaultType = "btn-default";
- var selectedType = "btn-primary";
- var auxType = defaultType;
- }
- <li><span>Ordenar por:</span></li>
- <li>
- @Ajax.ActionLink("Nombre", "Index", "Productos", new { orderby = "name", pagenumber = 0, category = @ViewBag.Category, keywords = @ViewBag.Keywords, orderType = @ViewBag.orderType, MostrarImagen = @TempData["MostrarImagen"] }, new AjaxOptions { LoadingElementId = "loading-container", HttpMethod = "POST", UpdateTargetId = "here", OnSuccess = "loadImages()", InsertionMode = InsertionMode.Replace }, new { @class = "btn " + ((ViewBag.OrderBy != null && ViewBag.OrderBy != "" && ViewBag.OrderBy != "name") ? defaultType : selectedType) + " btn-xs js-data-order btn-order _default", @data_order_id = "name" })
- </li>
- <li>
- @Ajax.ActionLink("Categoría", "Index", "Productos", new { orderby = "category", pagenumber = 0, category = @ViewBag.Category, keywords = @ViewBag.Keywords, orderType = @ViewBag.orderType, MostrarImagen = @TempData["MostrarImagen"] }, new AjaxOptions { LoadingElementId = "loading-container", HttpMethod = "POST", UpdateTargetId = "here", OnSuccess = "loadImages()", InsertionMode = InsertionMode.Replace }, new { @class = "btn " + ((ViewBag.OrderBy == null) ? defaultType : (ViewBag.OrderBy == "category") ? selectedType : defaultType) + " btn-xs js-data-order btn-order", @data_order_id = "category" })
- </li>
- <li>
- @Ajax.ActionLink("Precio", "Index", "Productos", new { orderby = "price", pagenumber = 0, category = @ViewBag.Category, keywords = @ViewBag.Keywords, orderType = @ViewBag.orderType, MostrarImagen = @TempData["MostrarImagen"] }, new AjaxOptions { LoadingElementId = "loading-container", HttpMethod = "POST", UpdateTargetId = "here", OnSuccess = "loadImages()", InsertionMode = InsertionMode.Replace }, new { @class = "btn " + ((ViewBag.OrderBy == null) ? defaultType : (ViewBag.OrderBy == "price") ? selectedType : defaultType) + " btn-xs js-data-order btn-order", @data_order_id = "price" })
- </li>
- @Html.Hidden("OrderBy", (object)ViewBag.OrderBy)
- @Html.Hidden("OrderType", (object)ViewBag.orderType)
- <li><span>Modo:</span></li>
- <li>
- @{ auxType = (@ViewBag.orderType == "" || @ViewBag.orderType.ToLower() == "asc") ? selectedType : defaultType; }
- @Ajax.ActionLink("asc", "Index", "Productos", new { orderby = @ViewBag.OrderBy, pagenumber = 0, category = @ViewBag.Category, keywords = @ViewBag.Keywords, orderType = "asc", MostrarImagen = @TempData["MostrarImagen"] }, new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "here", InsertionMode = InsertionMode.Replace }, new { @class = "btn " + auxType + " btn-xs btn-ordertype _default" })
- <!--<a class="btn @auxType btn-xs btn-ordertype _default" data-ordertype-id="Asc" href="#">Asc</a>-->
- @{ auxType = (@ViewBag.orderType.ToLower() == "desc") ? selectedType : defaultType; }
- @Ajax.ActionLink("desc", "Index", "Productos", new { orderby = @ViewBag.OrderBy, pagenumber = 0, category = @ViewBag.Category, keywords = @ViewBag.Keywords, orderType = "desc", MostrarImagen = @TempData["MostrarImagen"] }, new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "here", InsertionMode = InsertionMode.Replace }, new { @class = "btn " + auxType + " btn-xs btn-ordertype _default" })
- <!--<a class="btn @auxType btn-xs btn-ordertype" data-ordertype-id="Desc" href="#">Desc</a>-->
- </li>
- <li><span>Mostrar Imagenes:</span></li>
- <li>
- @Html.CheckBox("MostrarImagen", true, new { @onchange = "OnValueChanged();" })
- </li>
- </ul>
- <ul class="breadcrumb detallesCss">
- <li><a href='@Url.Action("Index","Home")'>Inicio</a></li>
- <li class="active">Catálogo</li>
- </ul>
- </div><hr />
- <!--Contenedor catálogo-->
- <div class="container">
- <!--Sección listado catálogos-->
- <div class="flex-row row" id="contenedor-catalogo">
- @{
- if (!Model.Any())
- {
- <div class='alert alert-warning col-xs-12 errorMessage animated fadeIn fast'>
- Por El Momento No Existen Más Productos Disponibles
- </div>
- }
- else
- {
- foreach (var item in Model)
- {
- <div class="col-md-3 producto-item animated fadeIn fast">
- <div class="card">
- <a href="@Url.Action("detail", "Productos", new { id = item.EntidadId, name = item.Nombre.ToUrlSeo() })">
- @if (!ViewBag.MostrarImagen)
- {
- <img class="card-img-top catalogo-imagen" src="" data-src="/Productos/image/@item.EntidadId" data-pending="true" onerror="imgError(this);" style="display:none">
- }
- else
- {
- <img class="card-img-top catalogo-imagen" src="" data-src="/Productos/image/@item.EntidadId" data-pending="true" onerror="imgError(this);" style="display:normal">
- }
- </a>
- <div class="card-block">
- <h4 class="card-title">
- <a href="@Url.Action("detail", "Productos", new { id = item.EntidadId, name = item.Nombre.ToUrlSeo()})">
- @Html.DisplayFor(modelItem => item.Nombre)
- </a>
- </h4>
- <div class="meta">
- <a href="#" class="btn btn-default btn-xs">
- @Html.DisplayFor(modelItem => item.Categoria)
- </a>
- </div>
- <div class="card-text">
- @Html.DisplayFor(modelItem => item.Descripcion)
- </div>
- <div class="card-text">
- Precio:
- @Html.DisplayFor(modelItem => item.PrecioUnitario)
- </div>
- </div>
- </div>
- </div>
- }
- }
- }
- </div>
- @* Contenedor que incluye Loader 1 y el componente para mostrar los mensajes de error. *@
- <div class="container-result">
- <div id="pre-loader"><div class='text-center'><i class='fa fa-circle-o-notch fa-spin' style='font-size:24px'></i></div></div>
- <div style="display:none;" id="error-msg"><p>Ocurrío un error al obtener la información.</p></div>
- </div>
- </div>
- <!--remove float-->
- <div style="clear:both;"></div>
- <!-- Loader 2 -->
- <div id="loading-container" style="display:none;text-align:center;width: 100%;height: 100%;opacity: 0.6;position: fixed;background-color: white;top: 70px;left: 0;margin: 0 auto;z-index: 9999;"></div>
- function ajaxMovement(queryParams, beforeSend, onSuccess, onError) {
- $.ajax({
- url: "Productos/Index" + document.location.search, //URL del recurso
- type: "post", //Se define el método POST como verbo de solicitud.
- contentType: "text/html", //La respuesta vendrá en formato text/html
- data: queryParams, //Los parámetros están definidos en la URL destino, por lo cual la propiedad 'data' se envía como vacía.
- beforeSend: function () {
- if (beforeSend != null)
- beforeSend();
- }
- }).then(function (data) {
- if (!data.includes("errorMessage"))
- //Mostramos AJAX loader
- $(".container-result #pre-loader").show();
- else
- $(".container-result #pre-loader").hide();
- //Ocultamos los mensajes de error
- $(".container-result #error-msg").hide();
- if (onSuccess != null)
- onSuccess(data);
- loadImages();
- }, function (error) {
- //Ocultar componente AJAX loader
- $(".container-result #pre-loader").hide();
- //Mostrar mensaje de error.
- $(".container-result #error-msg").show();
- if (onError != null)
- onError(error);
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement