powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC: т.н. "бизенес-правила" во вью
18 сообщений из 43, страница 2 из 2
MVC: т.н. "бизенес-правила" во вью
    #37854449
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sp,

Да мне без разницы, просто сабж можно указать более понятно. Типа "Knockout.js MVC и бизенес-правила на клиенте" :)
А что толку вам например от ASP MVC ?
...
Рейтинг: 0 / 0
MVC: т.н. "бизенес-правила" во вью
    #37854457
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StarlexВот кто по настоящему пробивает :) Knockout.js уже входит в пакет MVC4.
По вашему теперь это часть MS Asp.net FW? OK :)
Кста глянул ролик. Не нравятся мне декларативные примочки, но хз, может не созрел :)
...
Рейтинг: 0 / 0
MVC: т.н. "бизенес-правила" во вью
    #37857727
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парамон,

А как у вас во фреймворке устанавливается начальное состояние элементов?
У вас же в microdoft MVC там шаблоны T4?
Да и наверняка использует народ аякс для подгрузки списков динамически на клиенте!?

Как вы устанавливаете контролы в состояние соответствующее правилам??
...
Рейтинг: 0 / 0
MVC: т.н. "бизенес-правила" во вью
    #37857933
sp..
Как вы устанавливаете контролы в состояние соответствующее правилам??

Код: javascript
1.
2.
$addHandler(element, eventName, handler, autoRemove);
$removeHandler(element, eventName, handler);
...
Рейтинг: 0 / 0
MVC: т.н. "бизенес-правила" во вью
    #37857950
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
использует народ аякс,

почитайте вопрос - обработчики по ходу работы с вью - не интересуют - интересует как установить все контролы в адекватное состояние когда доставили модель с сервера!
...
Рейтинг: 0 / 0
MVC: т.н. "бизенес-правила" во вью
    #37858426
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sp,

В MS MVC, вью приходит с сервера в максимально адекватном состоянии, дальше на него цепляются JS обработчики.
...
Рейтинг: 0 / 0
MVC: т.н. "бизенес-правила" во вью
    #37858543
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парамонsp,
В MS MVC, вью приходит с сервера в максимально адекватном состоянии, дальше на него цепляются JS обработчики.

ну а на сервере как добиваются адекватного состояния?
...
Рейтинг: 0 / 0
MVC: т.н. "бизенес-правила" во вью
    #37858698
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spну а на сервере как добиваются адекватного состояния?
К чему абстрактные беседы? Приведите конкретный пример задачи (в микро варианте)
...
Рейтинг: 0 / 0
MVC: т.н. "бизенес-правила" во вью
    #37860005
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парамон,

Ну пусть будет модель

Person
-----------
id,
ФИО,
Рол,
Замужем,
Служил,
СтранаID,
РегионID,
ОбластьID,
ГородID,
адрес
..........


в форме необходимо соблюсти правила
- если Пол - женский, активируем чекбокс "Замужем", иначе деактивируем его
- если Пол - мужской, активируем чекбокс "Служил", иначе деактивируем его
- РегионID, ОбластьID, ГородID - должны быть заполнены только значениями, относящимися к вышестоящему элементу (т.е. в списке регионов должны быть только регионы указанной страны, в областях - области указанного региона и в городах - города только указанной области)

ну для начала вот так как-то
...
Рейтинг: 0 / 0
MVC: т.н. "бизенес-правила" во вью
    #37860006
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sp,
упс Рол - это Пол
...
Рейтинг: 0 / 0
MVC: т.н. "бизенес-правила" во вью
    #37861477
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Type.registerNamespace("MyCompany");
// Person :: ctor
MyCompany.Person = function MyCompany$Person(View) {
    this.view = View;
};
// Person :: members
function MyCompany$Person$get_FullName() {
    if(sp.approve())
        return $dom.getInputValue(this.view.FullName());
    return null;
}
function MyCompany$Person$set_FullName() {
    // Rules
    // ...
    $dom.setInputValue(this.view.FullName());
}
// Person :: prototype
MyCompany.Person.prototype =
{
    getFullName: MyCompany$Person$get_FullName,
    setFullName: MyCompany$Person$set_FullName
}
// Person :: class
MyCompany.Person.registerClass("MyCompany.Person");
...
Рейтинг: 0 / 0
MVC: т.н. "бизенес-правила" во вью
    #37861490
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spв форме необходимо соблюсти правила
- если Пол - женский, активируем чекбокс "Замужем", иначе деактивируем его
- если Пол - мужской, активируем чекбокс "Служил", иначе деактивируем его
- РегионID, ОбластьID, ГородID - должны быть заполнены только значениями, относящимися к вышестоящему элементу (т.е. в списке регионов должны быть только регионы указанной страны, в областях - области указанного региона и в городах - города только указанной области)

ну для начала вот так как-то

1. получаем форму с дефолтными установками.
2. привязываем эвенты (jQuery как вариант).

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
$('input[name=Gender]').change(function() {
     if(this.value == 0)
         $('#IsMarried').attr('disabled', false);
     else
         // остальные условия .....
});

$('#RegionID').change(function(){
   // подгрузка с сервера
    $.get('/registration/areas?regionid=' + this.value, function(data) {
       // заполняем области ......
    });
});



В таком стиле, в общем.
...
Рейтинг: 0 / 0
MVC: т.н. "бизенес-правила" во вью
    #37861496
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По идее, "бизнес-правила" во вью - это уже presentation logic, бо завтра это будет мобильная аппликация, но бизнес-логика не изменятся, а вот представление да.
...
Рейтинг: 0 / 0
MVC: т.н. "бизенес-правила" во вью
    #37861511
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Честно говоря, не пробовал натягивать мвц шаблон, на эвент драйвен интерфейсную логику.
Имхо нет смысла.
...
Рейтинг: 0 / 0
MVC: т.н. "бизенес-правила" во вью
    #37863504
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парамон1. получаем форму с дефолтными установками.
2. привязываем эвенты (jQuery как вариант).

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
$('input[name=Gender]').change(function() {
     if(this.value == 0)
         $('#IsMarried').attr('disabled', false);
     else
         // остальные условия .....
});

$('#RegionID').change(function(){
   // подгрузка с сервера
    $.get('/registration/areas?regionid=' + this.value, function(data) {
       // заполняем области ......
    });
});



В таком стиле, в общем.

я же писал, что логи обработки изменений понятна и не интересна!
Интересует ситуация когда с сервера пришла модель и надо установить состояние вью в соответствии с правилами (и при биндинге данных модели не возникает событий onchange)
...
Рейтинг: 0 / 0
MVC: т.н. "бизенес-правила" во вью
    #37864094
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sp,

Генерация разметки?
Как вариант:
Код: html
1.
<input type="checkbox" name="IsMarried" @(Gender == 0 ? "disabled" : "") />


Или HTML хелперы.
...
Рейтинг: 0 / 0
MVC: т.н. "бизенес-правила" во вью
    #37868026
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парамон,

а потом еще и в обработчиках логика дублируется?
...
Рейтинг: 0 / 0
MVC: т.н. "бизенес-правила" во вью
    #37868290
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sp,

Можно постоянно гонять вью на сервер, с прелоадером, либо выставлять все параметры onload на клиенте.
По ситуации.
...
Рейтинг: 0 / 0
18 сообщений из 43, страница 2 из 2
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC: т.н. "бизенес-правила" во вью
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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