2013-08-09 4 views
3

Как установить элемент по умолчанию в HTML.Kendo(). Dropdownlist(). HTMLAttribute()?HTML.Kendo(). Dropdownlist set default item

Хотя я установил его по коду. Но как-то он взял один элемент по умолчанию из списка и показал его как первое место.

enter image description here

Может быть его получить его где-то от code.But я не смог найти out.and, поэтому я хочу, чтобы установить элемент по умолчанию («- Выберите,») откуда-то еще. И я думаю об установке его из .HTMLAttributes().

Кто-нибудь знает, что это правильный способ сделать это или нет? Если да, то как мы можем это сделать? Else нет, тогда есть ли другой способ его исправить?

Я использую ниже код, чтобы связать Кендо DROPDOWNLIST:

@(Html.Kendo().DropDownList() 
    .Name("SelectedMediaType") 
    .DataTextField("Text") 
    .DataValueField("Text")  
    .Value(Model)          
    .BindTo(ViewBag.MediaTypes) 

) 

, в котором я связывании DROPDOWNLIST с ViewBag.MediaTypes.

Так можно ли установить значение по умолчанию после привязки к viewbag?

ответ

1

Единственный способ, которым я был в состоянии получить его на работу было по обработке события DataBound и установки значения по умолчанию.

В этом примере я привязка к действию на сервере, поэтому, возможно, вам нужно всего лишь линия .Events и JavaScript в конце:

  @(Html.Kendo().DropDownListFor(model => model.SalesPersonID) 
      .DataTextField("FullName") 
      .DataValueField("ID") 
      .Events(ev => ev.DataBound("SalesPersonID_DataBound")) 
      .DataSource(source => 
      { 
       source.Read(read => 
       { 
        read.Action("GetSalesPersonList", "Proposal");      
       }); 
      }) 
      ) 

      <script type="text/javascript"> 
       //Sets the default value for the DropDownList. 
       function SalesPersonID_DataBound() { 
        this.value("@Model.SalesPersonID"); 
       } 
      </script> 

Я подозреваю, что проблема заключается в следующем: если значение устанавливается до или во время привязки, оно теряется. Вы должны установить его сразу после завершения привязки, и событие DataBound - лучший способ сделать это.

+0

+1 Этот раствор работал для меня. Кажется глупым, что нам нужен дополнительный скрипт для установки выбранного индекса, как это из (модели) данных модели; но это жалоба на Telerik – MacSalty

+0

@MacSalty У меня такое чувство, что это действительно исправлено в последних версиях Kendo. Вы новичок? –