您好我正在使用Kendo for ASP.NET MVC .
我有包含数据的字符串列表
[0]="str1"
[1]="str2"... and so on
现在我想将这个字符串列表绑定到kendo下拉列表中 .
我有按名称和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);
}
}
有谁知道我怎么能这样做!
任何帮助将是欣赏 .
4 回答
你提供的答案实际上是正确的 . Action必须返回
List<SelectListItem>
作为输出 . See this Example并在代码中看到BindTo
属性 .您只需将代码更新到下面即可 .
我刚刚修改了你的代码,没有for循环 .
不知道它是好还是没有,但通过一些手工工作获得了解决方案:
并在观点方面:
你的
getData()
有什么回报?您需要返回一个可枚举的对象,该对象具有一个名为stringname
的属性,或者您在DataText / DataValue文件中指定的属性名称 . 像这样:return Json(youStringArray.Select(x=>new{stringname = x}))
尝试ValuePrimitive: