asp.net-mvc如何将字符串列表绑定在剑道下拉列表

标签: Asp.net-MVC C#
发布时间: 2016/10/9 6:16:14
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

你好我正在使用 ASP.NET MVC 剑道。

我有字符串,它包含数据的列表

[0]="str1"
[1]="str2"... and so on

现在我想要将此列表的字符串绑定到剑道下拉列表。

我有绑定下拉列表的类名称和 id 列表但与字符串列表中只有一个数据,我不知道如何将绑定的 !

我这么做,如下︰

 @(
                 Html.Kendo().DropDownList()
                            .Name("ddlstrings")
                            .DataTextField("stringname")
                            .DataValueField("stringname")
                            //.Events(x => x.Select("sourceclick"))
                            .SelectedIndex(0)
                            .DataSource(source =>
                                {
                                    source.Read(read =>
                                    {
                                        read.Action("getData", "String");
                                    });
                                })
                )

但是我不确定。

我回这样的数据︰

public JsonResult getData()
        {
            try
            {
                List<string> stringlist = object.getstrlist();
                return Json(stringlist, JsonRequestBehavior.AllowGet);
            }
            catch (Exception ex)
            {
                return Json("", JsonRequestBehavior.AllowGet);
            }
        }

有没有人有任何想法,我怎么可以这样 !

任何帮助将不胜感激。

解决方法 1:

您所提供的答案正确其实也是。操作必须返回 List<SelectListItem> 作为输出。请参阅本示例和代码请参见 BindTo 属性。

只是可以到下面来更新您的代码。

        public JsonResult getData()
        {
            try
            {
                var stringlist = object.getstrlist().select( x=> new SelectListItem
                             {
                              Value = x,
                              Text = x
                             }).ToList();


                return Json(stringlist, JsonRequestBehavior.AllowGet);
            }
            catch (Exception ex)
            {
                return Json("", JsonRequestBehavior.AllowGet);
            }
        }

刚修改了您的代码不具有 for 循环。

赞助商