Добро пожаловать, Гость
ViewBag Model Namespace
erches Offline
#1 Оставлено : 30 октября 2013 г. 20:00:42(UTC)
Ранг: Member

Группы: Registered
Зарегистрирован: 28.10.2013(UTC)
Сообщений: 22
Откуда: Москва

Сказал(а) «Спасибо»: 14 раз
Поблагодарили: 3 раз в 2 постах
Приветствую

Можно ли при разработке представлений, вместо ViewBag, использовать строготипизированные представления. То есть:
@using "Name of Namespace"
@foreach(var item in model)
{ if(item.Published) ... }

Спасибо
Ella Offline
#2 Оставлено : 30 октября 2013 г. 22:53:34(UTC)

Ранг: Advanced Member

Группы: Registered, Тестеры
Зарегистрирован: 07.05.2012(UTC)
Сообщений: 241
Откуда: Россия

Сказал(а) «Спасибо»: 25 раз
Поблагодарили: 67 раз в 61 постах
Можно, например при помощи @model. Несколько раз встречала примеры на форуме разработчиков, например:
http://forum.kooboo.com/...ew-in-Catagory-Box.aspx
http://forum.kooboo.com/...u-Zen-Yao-Shi-Yong.aspx

Но сама я не пробовала. Ни разу не была нужна подобная типизация. Так что интересует еще вопрос, а зачем, что за задача?
Если получится попробовать, напиши пример, мне тоже интересно :)
1 пользователь поблагодарил Ella за этот пост.
erches оставлено 01.11.2013(UTC)
erches Offline
#3 Оставлено : 1 ноября 2013 г. 13:57:50(UTC)
Ранг: Member

Группы: Registered
Зарегистрирован: 28.10.2013(UTC)
Сообщений: 22
Откуда: Москва

Сказал(а) «Спасибо»: 14 раз
Поблагодарили: 3 раз в 2 постах
Ella написал:
Так что интересует еще вопрос, а зачем, что за задача?
Если получится попробовать, напиши пример, мне тоже интересно :)

Хотел во views привязаться к определенному типу контента. Конкретно интересовало свойство Published. Прям во view отобрать все материалы. у которых Published = true. (@Model.Where(c => c.Published == true).AsEnumerable()). Что то типо такого. Я с этой CMS знаком не много, поэтому подобного рода задачу попытался решить из собственного опыта Smile
Ella Offline
#4 Оставлено : 1 ноября 2013 г. 16:38:57(UTC)

Ранг: Advanced Member

Группы: Registered, Тестеры
Зарегистрирован: 07.05.2012(UTC)
Сообщений: 241
Откуда: Россия

Сказал(а) «Спасибо»: 25 раз
Поблагодарили: 67 раз в 61 постах
Для отбора записей в представлении из определенной папки содержимого контента можно использовать "Правила данных (Data rule)". Там можно задать условия отбора.
Вот тут кажется есть немного про них: http://kooboo-cms.ru/art...ynamic-page-using-view/
Вот тут начинали как-то говорить про правила - http://forum.kooboo-cms....lt.aspx?g=posts&t=37
erches Offline
#5 Оставлено : 1 ноября 2013 г. 17:04:21(UTC)
Ранг: Member

Группы: Registered
Зарегистрирован: 28.10.2013(UTC)
Сообщений: 22
Откуда: Москва

Сказал(а) «Спасибо»: 14 раз
Поблагодарили: 3 раз в 2 постах
Ella написал:
Для отбора записей в представлении из определенной папки содержимого контента можно использовать "Правила данных (Data rule)". Там можно задать условия отбора.
Вот тут кажется есть немного про них: http://kooboo-cms.ru/art...ynamic-page-using-view/
Вот тут начинали как-то говорить про правила - http://forum.kooboo-cms....lt.aspx?g=posts&t=37

Вопрос как раз в том, можно ли программно в views задавать условия для ViewBag.DataRuleName. То есть тем же .Where, .Select
Ella Offline
#6 Оставлено : 1 ноября 2013 г. 17:34:50(UTC)

Ранг: Advanced Member

Группы: Registered, Тестеры
Зарегистрирован: 07.05.2012(UTC)
Сообщений: 241
Откуда: Россия

Сказал(а) «Спасибо»: 25 раз
Поблагодарили: 67 раз в 61 постах
erches написал:
Вопрос как раз в том, можно ли программно в views задавать условия для ViewBag.DataRuleName. То есть тем же .Where, .Select

А ну и это тоже можно :)
erches Offline
#7 Оставлено : 1 ноября 2013 г. 17:50:20(UTC)
Ранг: Member

Группы: Registered
Зарегистрирован: 28.10.2013(UTC)
Сообщений: 22
Откуда: Москва

Сказал(а) «Спасибо»: 14 раз
Поблагодарили: 3 раз в 2 постах
Ella написал:
erches написал:
Вопрос как раз в том, можно ли программно в views задавать условия для ViewBag.DataRuleName. То есть тем же .Where, .Select

А ну и это тоже можно :)

Не, просто так на ViewBag нельзя сделать :), это динамический объект, о нем компилятор ничего не знает. Надо использовать привязку к типу, но как?)
Ella Offline
#8 Оставлено : 4 ноября 2013 г. 16:09:18(UTC)

Ранг: Advanced Member

Группы: Registered, Тестеры
Зарегистрирован: 07.05.2012(UTC)
Сообщений: 241
Откуда: Россия

Сказал(а) «Спасибо»: 25 раз
Поблагодарили: 67 раз в 61 постах
Я не сильно разбираюсь в MVC, больше работаю с интерфейсной частью Kooboo CMS. Поэтому была бы рада, если здесь появится участник, больше понимающий и работающий с MVC и Kooboo (мягко намекаю на тебя ;), а то мне самой часто не у кого спросить совета по части программирования под Kooboo и расширения его функционала, а ответы разработчиков я не всегда понимаю...

А по теме, если мне нужно программно получить данные из папок контента, я обычно делаю так, как приводили примеры сами разработчики:

Цитата:

@using Kooboo.CMS.Content.Query;
@{
    var textFolder = ContentHelper.TextFolder("Articles"); // The Articles is the full name of text content. e.g: Articles~Comments is the Comments folder under the Articles.
    var contentQuery = textFolder.CreateQuery();//The result is a content query object, very like to the IQueryable.
    contentQuery = contentQuery.WhereEquals("UserKey", Page_Context.Current.PageRequestContext.AllQueryString["UserKey"]);//Filter by the UserKey value in the QueryString.
    var content = contentQuery.FirstOrDefault();// Fetch the content from database.
}
1 пользователь поблагодарил Ella за этот пост.
erches оставлено 04.11.2013(UTC)
erches Offline
#9 Оставлено : 4 ноября 2013 г. 23:23:59(UTC)
Ранг: Member

Группы: Registered
Зарегистрирован: 28.10.2013(UTC)
Сообщений: 22
Откуда: Москва

Сказал(а) «Спасибо»: 14 раз
Поблагодарили: 3 раз в 2 постах
Ella написал:
Я не сильно разбираюсь в MVC, больше работаю с интерфейсной частью Kooboo CMS. Поэтому была бы рада, если здесь появится участник, больше понимающий и работающий с MVC и Kooboo (мягко намекаю на тебя ;), а то мне самой часто не у кого спросить совета по части программирования под Kooboo и расширения его функционала, а ответы разработчиков я не всегда понимаю...

А по теме, если мне нужно программно получить данные из папок контента, я обычно делаю так, как приводили примеры сами разработчики:

Цитата:

@using Kooboo.CMS.Content.Query;
@{
    var textFolder = ContentHelper.TextFolder("Articles"); // The Articles is the full name of text content. e.g: Articles~Comments is the Comments folder under the Articles.
    var contentQuery = textFolder.CreateQuery();//The result is a content query object, very like to the IQueryable.
    contentQuery = contentQuery.WhereEquals("UserKey", Page_Context.Current.PageRequestContext.AllQueryString["UserKey"]);//Filter by the UserKey value in the QueryString.
    var content = contentQuery.FirstOrDefault();// Fetch the content from database.
}

Здорово. Я понял.

Удобство CMS - документация + интуитивность API функций.
MVC - правильно следовать разделению логики. Наверное, главнее тут все таки C# + LINQ.
У меня проект интересный нарисовался, вот подумавыю прикрутить свои модули к Kooboo. Поэтому в свободное время посматриваю на исходники kooboo. Так что если что, готов помочь.

Я смотрю ты тут одна все держишь :), проект, мягко говоря, не популярен в России.
1 пользователь поблагодарил erches за этот пост.
Ella оставлено 05.11.2013(UTC)
Ella Offline
#10 Оставлено : 5 ноября 2013 г. 10:09:19(UTC)

Ранг: Advanced Member

Группы: Registered, Тестеры
Зарегистрирован: 07.05.2012(UTC)
Сообщений: 241
Откуда: Россия

Сказал(а) «Спасибо»: 25 раз
Поблагодарили: 67 раз в 61 постах
Цитата:

Так что если что, готов помочь.
Я смотрю ты тут одна все держишь :), проект, мягко говоря, не популярен в России.

Спасибо. Да, почти одна. Буду рада любой помощи. Kooboo только начинает заходить в русскоязычное сообщество.
Лента RSS  Лента Atom
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.