【问题标题】:HTML.Kendo().Dropdownlist set default itemHTML.Kendo().Dropdownlist 设置默认项
【发布时间】:2013-08-11 13:50:15
【问题描述】:

如何在 HTML.Kendo().Dropdownlist().HTMLAttribute() 中设置默认项?

虽然我已经通过代码设置了它。但不知何故,它从列表中获取了一个默认项目并将其显示为第一位。

可能是它从代码的某个地方得到它。但我无法找到。这就是为什么我想从其他地方设置默认项目(“--Select--”)。 我正在考虑从 .HTMLAttributes() 设置它。

有人知道这是正确的方法吗?如果是,那么我们该怎么做?不然有没有其他办法解决呢?

我正在使用下面的代码来绑定剑道下拉列表:

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

 )

我在其中将 Dropdownlist 与 ViewBag.MediaTypes 绑定。

那么有什么办法可以在与viewbag绑定后设置默认值呢?

【问题讨论】:

    标签: drop-down-menu telerik kendo-ui default-value html


    【解决方案1】:

    我对 KendoUI 很陌生,但我相信您可以使用 .value 属性设置默认值:http://docs.kendoui.com/api/web/dropdownlist#configuration-value

    $("#dropdownlist").kendoDropDownList({
         dataSource: ["Car", "Bike", "T.V", "--Select One--"],
         value: "--Select One--"
    });
    

    【讨论】:

      【解决方案2】:

      我能够让它工作的唯一方法是处理 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 事件是最好的方法。

      【讨论】:

      • +1 这个解决方案对我有用。我们需要额外的脚本来从(视图)模型数据中设置选定的索引,这似乎很愚蠢;但这是 Telerik 的抱怨
      • @MacSalty 我感觉这实际上已在最新版本的 Kendo 中得到修复。你是最新的吗?
      猜你喜欢
      • 2010-09-23
      • 1970-01-01
      • 2011-09-07
      • 1970-01-01
      • 2013-04-24
      • 2019-12-15
      • 1970-01-01
      • 1970-01-01
      • 2016-04-25
      相关资源
      最近更新 更多