powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Пример из книги Сандерсона (Случай Номер 2)
3 сообщений из 3, страница 1 из 1
Пример из книги Сандерсона (Случай Номер 2)
    #38011626
rush.khaz.88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Книга Сандерсона про MVC3 (стр.190). Кто читал сталкивался наверняка.

Код контроллера
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
public class NavController : Controller
    {
        private IProductRepository repository;
        public NavController(IProductRepository repo)
        {
            repository = repo;
        }
        public PartialViewResult Menu()
        {
            IEnumerable<string> categories = repository.Products.Select(x => x.Category).Distinct().OrderBy(x => x);
            return PartialView(categories);
        }
    }



Соответствующее ему представление
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
@model IEnumerable<string>

@{
    Layout = null;
    }
    @Html.ActionLink("Home","List","Product")
    @foreach (var link in Model) { 
    @Html.RouteLink(link.Trim(), new { controller="Product",action="List",category=link.Trim(),page=1})
    }



Непонятно поведение MVC, когда в поле repository контроллера в элементы списка прописывается что-то вроде "Kayak%20%20%20%20...". Сщщтветственно это выводится на HTML-страницу в виде ссылок. Естественно что эти ссылки никуда не приведут. Так в чем же дело. Проблему пока решаю методом Trim()
...
Рейтинг: 0 / 0
Пример из книги Сандерсона (Случай Номер 2)
    #38011660
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rush.khaz.88,
вполне ожидаемо, используйте екодеры или попробуйте разобраться с типами полей в базе откуда тащите или чистите на сервере
...
Рейтинг: 0 / 0
Пример из книги Сандерсона (Случай Номер 2)
    #38012030
rush.khaz.88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Оказалось совсем в другом месте искал. Действительно, в SQL Server все данные автоматом добиваются до длины переменной пробелами (vchar(100) например). Нужно попробовать другие типы данных использовать. Но в принципе, добавил в код функцию Trim(), который отрезает лишние пробелы. Получается, ошибка автора. Тему можно считать закрытой.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Пример из книги Сандерсона (Случай Номер 2)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]