• Привет, Гость!
  • Войти
  • Регистрация
  • Записи
  • Форумы
  • Люди
  • Файлы
  • Работа
  • Технологии

Разбор примера из книги

Все форумы  Поиск  Правила  Помощь 
 Активные темы  Темы без ответов
Привет, гость! Войти
Форумы GotDotNet.Ru » ASP.NET MVC » Разбор примера из книги
Страницы: 1
RSS
Разбор примера из книги
Vladimir
Сообщений: 4 Регистрация: 08.03.2010
#1
08.03.2010 21:32
Здравствуйте! В Asp.Net я новичок, начал с книги но... что-то примеры в ней не совсем рабочие (или руки кривоватые).

Начну сначала:
1.Задача - создать HTML helper метод, который будет создавать линки(ссылки на другие страницы).

2.Создал класс

namespace WebUI.HtmlHelpers
{
public static class PaginsHelpers
{
public static string PageLinks(this HtmlHelper html, int currentPage,
int totalPages, Func<int, string> pageUrl)
{
StringBuilder result = new StringBuilder();

for (int i = 1; i <= totalPages; i++)
{
TagBuilder tag = new TagBuilder("a"); //<a>
tag.MergeAttribute("href", pageUrl(i));
tag.InnerHtml = i.ToString();

if (i == currentPage)
tag.AddCssClass("selected");

result.AppendLine(tag.ToString());
}
return result.ToString();
}

}
}
3. В web.config зарегистрировал пространство имен.
4. В представлении (view) использую этот метод:

<div class="pager"> Page:
<%=
Html.PageLinks((int)ViewData["CurrentPage"], (int)ViewData["TotalPages"],
x => Url.Action("List", new { page = x }))
%>
</div>

5. При сборке получаю null exeption при исполнении
System.NullReferenceException: Object reference not set to an instance of an object.

6. List - метод в контроллере, который принимает в качестве параметра целочисленный тип (int).

public ViewResult List(int page)
{
int numProducts = productsRepository.Products.Count();
ViewData["TotalPages"] = (int)Math.Ceiling((double) numProducts/PageSize);
ViewData["CurrentPge"] = page;

return View( productsRepository.Products
.Skip((page-1)*PageSize)
.Take(PageSize)
.ToList()
);
}

Отлавливая ошибку проверял в методе List на создание productsRepository.Products - все отлично, переменная не null, метод выполняется....
поэтому и непонятно мне..(.

Также хотел бы понять что это за выражение хитрое)):

x => Url.Action("List", new { page = x })

Вроде все подробно описал..))

Заранее спасибо!!!
 
 
outcoldman
Сообщений: 2212 Регистрация: 17.08.2006
#2
09.03.2010 1:01
Присмотритесь
Html.PageLinks((int)ViewData["CurrentPage"], (int)ViewData["TotalPages"],
ViewData["CurrentPge"] = page;
[Мой сайт/блог]
 
 
Vladimir
Сообщений: 4 Регистрация: 08.03.2010
#3
09.03.2010 1:19
Нет предела человеческой глупости.((((
Спасибо за помощь.
 
 
dark4eg
Сообщений: 20 Регистрация: 02.12.2009
#4
09.03.2010 23:55
вопрос, а книга в электронном виде?)
 
 
Vladimir
Сообщений: 4 Регистрация: 08.03.2010
#5
10.03.2010 18:19
Да, это книга "Pro ASP.NEt MVC Framework".
Автор - Steven Sanderson. Но она на английском(.
 
 
Vladimir
Сообщений: 4 Регистрация: 08.03.2010
#6
12.03.2010 20:36
А кто - нибудь использует NUnit для тестирования кода, написанного под .Net 4?

Я вот пытался настроить, нашел инфу о том, что нужно сконфигурировать (как я понял) runFile.exe.config,
добавив строки

<startup>
.....
<requiredRuntime version="версия" />
</startup>

а также

<runtime>
<loadFromRemoteSources enabled="true" />
.....
</runtime>

но все равно получаю ошибку
you may be attempting to load asembly built a later version .... т.д
 
 
 
Страницы: 1
Форумы GotDotNet.Ru » ASP.NET MVC » Разбор примера из книги
О сайте   Свяжитесь с нами   Версия для печати
Работает на 1С-Битрикс: Управление сайтом ASP.NET  |  Хостинг на Parking.Ru