1

アプリでKendoComboBoxを使用しており、コントロールのマークアップを次のように定義しています。

@(Html.Kendo().ComboBox().Name("GroupUserName")
    .Placeholder("- Select Group -")
    .Suggest(true)
    .BindTo(
        (Model.Groups ?? new[] { Model.Group })
            .Select(i => new { i.GroupName, i.GroupUserName })
    )
    .DataTextField("GroupName")
    .DataValueField("GroupUserName"))

BindToメソッドにバインドされている2つのレコードがあり、これらがクライアントコンポーネントに渡されていることを知っています。

jQuery(
  function(){
    jQuery("#GroupUserName").kendoComboBox({"dataSource":   
       [{"GroupName":"membershipgroup01","GroupUserName":"membershipgroup01"},
       {"GroupName":"publicgroup01","GroupUserName":"publicgroup01"}]
       ,"dataTextField":"GroupName","dataValueField":"GroupUserName",
       "placeholder":"- Select Group -","suggest":true
     });
});

ただし、ドロップダウンを押したときにコンボボックスに何も表示されません。値を選択するためのドロップダウンはありません。この画像を参照してください:

ドロップダウンが表示されないComboBox

ドロップダウンセレクターをクリックしたときに表示されるドロップダウンはありません。なんで?

kendo.allおよびkendo.aspnetmvcスクリプトとともにJQuery1.8.2を使用しています...

4

2 に答える 2

0

フィールド名のない匿名型にバインドしています。GroupNameKendo にバインドするように指示したオブジェクトにはandという名前のフィールドがないため、取得するものはありませんGroupUserName

見た目からすると、匿名型にバインドする必要はまったくないはずです。したがって、この:

.BindTo(
    (Model.Groups ?? new[] { Model.Group })
            .Select(i => new { i.GroupName, i.GroupUserName })
)

次のようにする必要があります。

.BindTo(
    (Model.Groups ?? new[] { Model.Group })
)

何らかの理由で匿名型にバインドする必要がある場合は、フィールドに適切な名前を付けることができます。

.BindTo(
    (Model.Groups ?? new[] { Model.Group })
            .Select(i => new { GroupName = i.GroupName, GroupUserName = i.GroupUserName })
)
于 2013-03-07T05:36:17.743 に答える
0

私にとって、これは JQuery UI と Kendo UI の間の競合でした。JQuery UI への参照を削除すると、機能しました。

于 2015-05-12T22:29:55.563 に答える