3

我在一个页面中有两个剑道窗口(添加和编辑),它们都有同名的下拉列表。

@(Html.Kendo().DropDownList()
.Name("TypeId") 
    .DataTextField("TypeName") 
    .DataValueField("Id") 
    .datasource(source => 
    {
      source.Read(read =>
           {
                read.Action("Action", "Controller"); 
           })
     }))

访问添加窗口时,下拉菜单看起来不错,然后打开和关闭添加窗口三遍,然后访问编辑窗口。

第二次访问编辑窗口时,下拉列表消失,然后出现一个文本框代替下拉列表。

当我使用 MVC4 下拉列表控件时没有问题,只有剑道下拉列表有问题。

任何人都可以建议我做错了什么。

4

1 回答 1

3

您不能有多个具有相同名称的小部件 - 您需要确保每个小部件具有唯一的名称。

在幕后,您通过Name方法为小部件分配名称 - 它为 html 包装元素分配一个 ID,用于查找小部件并对其进行初始化。您可能知道,如果您有两个具有相同 id 的 html 元素 - jQuery 将始终返回第一个,因此第二个小部件将不会被初始化,并将保持为常规文本框输入。

于 2012-12-02T15:05:29.720 回答