...

Внесение данных в объект через Razor

Тема в разделе "Разработчикам", создана пользователем a.pursheva, 30 окт 2018.

  1. a.pursheva

    a.pursheva Member

    Добрый день.
    Пытаюсь внести изменение в стандартное разоровское представление изменения статуса сделки. Добавила выпадающий список, как теперь значение этого списка передать в атрибут сделки через javascript?
    Может кто сталкивался с таким уже или с js в хороших отношениях, откликнитесь, пожалуйста
     

    Вложения:

  2. alexfuse

    alexfuse Member

    У нас так формируется и все сохраняется
    Код:
    <tr>
    @{
    var listItems = new List<SelectListItem>();
    listItems.Add(new SelectListItem{Text = "Активна", Value ="Active"});
     listItems.Add(new SelectListItem{Text = "Отложена", Value ="Postponed"}); 
     listItems.Add(new SelectListItem{Text = "Закрыто (успех)", Value ="PositiveClosed"});
     listItems.Add(new SelectListItem{Text = "Закрыто (неуспех)", Value ="NegativeClosed"});
    var dropDownList = Html.Telerik()
     .DropDownList()
     .Name("Status")
     .BindTo(listItems);
    }
    @(dropDownList)
                </tr>
    соответственно Name должно совпадать с именем изменяемого поля
     
  3. a.pursheva

    a.pursheva Member

    что-то так не получается.... В выпадающем списке они есть, но в сделку не попадают.
    У вас "Status" какой тип имеет? выпадающий список?

    Код:
    td>
    @{
                    var listItems = new List<SelectListItem>();
                    listItems.Add(new SelectListItem{Text = "Cтоимость превышает возможности / ожидания", Value ="Expencive"});
                    listItems.Add(new SelectListItem{Text = "Cроки реализации превышают необходимые / ожидаемые", Value ="Long"});
                     listItems.Add(new SelectListItem{Text = "Отсутствует технологическая возможность удовлетворить требования", Value ="NoAbility"});
                     listItems.Add(new SelectListItem{Text = "Утрата актуальности / реальной потребности", Value ="NoRelevance"});
                    listItems.Add(new SelectListItem{Text = "Иные причины", Value ="Other"});
                    var dropDownList = Html.Telerik()
                     .DropDownList()
                     .Name("CloseStatus")
                     .BindTo(listItems);
                    }
                    @(dropDownList)
    </td>
     

    Вложения:

  4. alexfuse

    alexfuse Member

     

    Вложения:

  5. alexfuse

    alexfuse Member

    Попробуйте в value поставить не название, а значение (цифры)
    У нас почему-то в разных местах по разному сделано
    Код:
    <td>
                    @{
                        bool isAdmins = UserGroupManager.Instance.GetUsersByGroup(UserGroupManager.Instance.Load("Администраторы").Id).Any(a => a == AuthenticationService.GetCurrentUser<EleWise.ELMA.Security.Models.IUser>().Id);
                        var otkazItems = new List<SelectListItem>();
                      
                        otkazItems.Add(new SelectListItem{Text = "", Value = null});
                        otkazItems.Add(new SelectListItem{Text = "Иностранный гражданин", Value ="0"});
                        otkazItems.Add(new SelectListItem{Text = "Уже заказали", Value ="1"});
                        otkazItems.Add(new SelectListItem{Text = "Подают самостоятельно", Value ="2"});
                        if(isAdmins)
                        {
                            otkazItems.Add(new SelectListItem{Text = "Системная", Value ="3"});
                        }
                        otkazItems.Add(new SelectListItem{Text = "Другое", Value ="4"});
                
                        var dropList = Html.Telerik()
                                    .DropDownList()
                                    .Name("Entity.PrichinaOtkaza")
                                    .BindTo(otkazItems)
                                    .ClientEvents(e => e.OnChange("OnPrichinaChanged"));
                        }
                        @(dropList)
                      
                    </td>    
     

Поделиться: