Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > ASP.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2013, 18:35   #1
Frododo
Новичок
Джуниор
 
Регистрация: 13.10.2013
Сообщений: 1
По умолчанию ASP.Net Mvc 3 Page Links

Добрый день,
Я работаю над сайтом по книге Сандерсон С., Фримен А. ASP.NET MVC3 Framework. У меня возникла проблема с размещением ссылок на страницы, сижу над этой проблемой уже несколько дней, буду очень благодарен за помощь.

Вот мой сайт:
http://pixs.ru/showimage/Mywebsitep_4091622_9360855.png
(есть еще 2 и 3 страницы, они такие же)

А вот как он должен выглядеть:
http://pixs.ru/showimage/websitepng_7702104_9360824.png

Проблема:
Не размещает ссылки на другие страницы.
Вот мой код, Controller:
Код:
public class ProductController : Controller
    {
        public int PageSize = 4;

        private IProductRepository repository;

        public ProductController(IProductRepository productRepository)
        {
            repository = productRepository;
        }

        public ViewResult List(int page = 1)
        {
           ProductsListViewModel viewModel = new ProductsListViewModel{
               Products=repository.Products
                .OrderBy(p => p.ProductID)
                .Skip((page - 1) * PageSize)
                .Take(PageSize),
                PagingInfo = new PagingInfo
                {
                    CurentPage = page,
                    ItemsPerPage = PageSize,
                    TotalItem = repository.Products.Count()
                }
        };
           return View(viewModel);
        }
    }
HtmlHelper:
Код:
public static class PagingHelpers
    {
        public static MvcHtmlString PageLinks(this HtmlHelper html, PagingInfo pagingInfo, Func<int,string> pageUrl)
        {
            StringBuilder result = new StringBuilder();

            for (int i = 1; i <= pagingInfo.TotalPages; i++)
            {
                TagBuilder tag = new TagBuilder("a");
                tag.MergeAttribute("href", pageUrl(i));
                tag.InnerHtml = i.ToString();
                if (i == pagingInfo.CurentPage) 
                {
                    tag.AddCssClass("selected");
                    result.Append(tag.ToString());
                }
            }
            return MvcHtmlString.Create(result.ToString());
        }
    }
Модели:
Модель PagingInfo:
Код:
public class PagingInfo
    {
        public int TotalItem { get; set; }
        public int ItemsPerPage { get; set; }
        public int CurentPage { get; set; }

        public int TotalPages {
            get { return (int)Math.Ceiling((decimal)TotalItem / ItemsPerPage); }
        }
    }
Модель ProductsListViewModel:
Код:
  public class ProductsListViewModel
    {
        public IEnumerable<Product> Products { get; set; }
        public PagingInfo PagingInfo { get; set; }
    }
И моё представление:
Код HTML:
@model SportsStore.WebUI.Models.ProductsListViewModel
@{
    ViewBag.Title = "Products";
}

<h2>List</h2>
@foreach(var a in Model.Products){
    <div >
        <h4>@a.Name</h4>
        <h4>@a.Description</h4>
        <h4>@a.Price.ToString("c")</h4>
    </div>
}
  
      
    <div class="pager">
        @Html.PageLinks(Model.PagingInfo,x=>Url.Action("List", new {page=x}))       
    </div>
Frododo вне форума Ответить с цитированием
Старый 28.10.2013, 00:38   #2
lourtoy
 
Регистрация: 11.10.2013
Сообщений: 3
По умолчанию

в PageLinks PagingInfo приходит норм? Помоему цикл заканчивается на 1-й странице, здесь и копайте. Имхо
lourtoy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
asp.net mvc Корделия ASP.NET 1 18.08.2013 20:29
ASP.NET mvc 3 и Ajax acteralex PHP 1 05.05.2013 21:13
UpdateModel (C#/ASP.NET/MVC) vprsc ASP.NET 0 10.12.2012 00:09
asp.net mvc sergei64_89 ASP.NET 3 28.09.2010 09:16
ASP .NET MVC KP0H ASP.NET 3 09.03.2009 17:10