Гость
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / update Model / 7 сообщений из 7, страница 1 из 1
27.05.2018, 15:43
    #39650660
Артем G
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
update Model
у Телерика убогий ListBox.

Нет возможности обновлять модель с помощью самого контрола.

У контрола есть 2 события Добавление и Удаление значений.

Решил отлавливая события обновлять саму модель. Пока не получается :( . Это возможно ?


Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
function onAdd(e) {

        e.preventDefault();

        var dataSource = e.sender.dataSource;

        var listBoxName = getListBoxName(e);

        if (listBoxName === "PositionsSelected") {

            for (var index = 0; index < e.dataItems.length; index++) {

                var dataItem = e.dataItems[index];

                @(Model.Positions.Add(new PositionComboBoxItemVm() {Id = ?, Name = ?}))
                
            }

        }
    }


Модератор: Учимся использовать тэги оформления кода - FAQ
...
Рейтинг: 0 / 0
27.05.2018, 16:55
    #39650677
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
update Model
Артем GРешил отлавливая события обновлять саму модель. Пока не получается :( . Это возможно ?

Пока не поймёте разницу между клиентским и серверным кодом, это для вас решительно невозможно. Ничего сделать нельзя, увы.
...
Рейтинг: 0 / 0
27.05.2018, 19:07
    #39650716
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
update Model
Артем GРешил отлавливая события обновлять саму модель.в поставке либы должна быть папка с демками образцами.
Изучили?
...
Рейтинг: 0 / 0
27.05.2018, 22:22
    #39650775
Артем G
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
update Model
Petro123Артем GРешил отлавливая события обновлять саму модель.в поставке либы должна быть папка с демками образцами.
Изучили?

Да, изучил. То, как передавать выбранные items в контроллер примеров нет.
Как и писал выше, походу контрол не доделанный :(
Народ открывал тикеты. Поддержка предлагает на кнопку вешать скрипт который будет получать значение из второго листбокса и передовать в controller.

Почему спросил возможно ли обновлять модель с помощью скрипта, потому что не хочется отходить от выбранной концепции написания кода.

hVosttАртем GРешил отлавливая события обновлять саму модель. Пока не получается :( . Это возможно ?

Пока не поймёте разницу между клиентским и серверным кодом, это для вас решительно невозможно. Ничего сделать нельзя, увы.

Спасибо. Выберу другой контрол.
...
Рейтинг: 0 / 0
27.05.2018, 22:52
    #39650782
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
update Model
Артем GПочему спросил возможно ли обновлять модель с помощью скрипта, потому что не хочется отходить от выбранной концепции написания кода.

Можно. Если речь идёт про Kendo. Не с кендо я не работал, это прошлый век, не интересно. Да и глянул в доку, там всё подробно расписано и я не вижу проблем там тоже, мне не хочется с этим разбираться.
...
Рейтинг: 0 / 0
27.05.2018, 23:24
    #39650791
Артем G
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
update Model
hVosttАртем GПочему спросил возможно ли обновлять модель с помощью скрипта, потому что не хочется отходить от выбранной концепции написания кода.

Можно. Если речь идёт про Kendo. Не с кендо я не работал, это прошлый век, не интересно. Да и глянул в доку, там всё подробно расписано и я не вижу проблем там тоже, мне не хочется с этим разбираться.

Да, речь идет о Кендо. По поводу прошлого века, если можно, то поделитесь что сейчас в тренде.
По поводу документации. Гляжу вот здесь https://demos.telerik.com/aspnet-mvc/listbox
Не вижу как обновить модель с помощью самого ListBox.

мой код

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
@(Html.Kendo().ListBox()
              .Name("PositionsDatasource")
              .DataValueField("Id")
              .DataTextField("Name")
              .Toolbar(toolbar =>
              {
                  toolbar.Position(Kendo.Mvc.UI.Fluent.ListBoxToolbarPosition.Right);
                  toolbar.Tools(tools => tools
                      .TransferTo()
                      .TransferFrom()
                      .TransferAllTo()
                      .TransferAllFrom()
                      );
              })
              .DataSource(datasource => datasource
                      .Custom()
                      .Transport(transport => transport
                          .Read(read => read.Action("GetPositions", "Process"))))
              .ConnectWith("PositionsSelected")
              .DropSources("PositionsSelected")
              .Draggable(true)
              .Navigatable(true)
              .Selectable(ListBoxSelectable.Single)
              .Events(events => events
                  .Add("onAdd")
                  .Remove("onRemove"))
              )
        
        @(Html.Kendo().ListBox()
                      .Name("PositionsSelected")
                      .DataValueField("Id")
                      .DataTextField("Name")
                      .BindTo(Model.Positions)
                      .ConnectWith("PositionsDatasource")
                      .DropSources("PositionsDatasource")
                      .Draggable(true)
                      .Navigatable(true)
                      .Selectable(ListBoxSelectable.Single)
                      .Events(events => events
                      .Add("onAdd")
                      .Remove("onRemove"))
                      )



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
    function onAdd(e) {

        debugger;

        var model = @Html.Raw(Json.Encode(Model));

        e.preventDefault();

        var listBoxName = getListBoxName(e);

        if (listBoxName === "PositionsSelected") {

            for (var index = 0; index < e.dataItems.length; index++) {

                var dataItem = e.dataItems[index];

здесь думал обновлять модель Model.Positions.Add(new PositionComboBoxItem() {Id = dataItem.Id, Name = dataItem.Name })

            }
        }
        // alert("add : " + getListBoxName(e) + " : " + e.dataItems.length + " item(s)");
    }



...
Рейтинг: 0 / 0
28.05.2018, 00:00
    #39650793
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
update Model
Артем G
Код: java
1.
здесь думал обновлять модель Model.Positions.Add(new PositionComboBoxItem() {Id = dataItem.Id, Name = dataItem.Name })



Это JavaScript, выполняется на клиенте. Вы НЕ МОЖЕТЕ там вызывать серверный код.

Вот описание API для контрола ListBox

https://docs.telerik.com/kendo-ui/api/javascript/ui/listbox

Всё, что вам нужно, там есть. Внимательно читаем.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / update Model / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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