2015-09-02 31 views
0

Im新的asp.net mvc,以及即时通讯尝试telerik的客户端项目。在asp.net mvc中使用Telerik - Multiselect

我正在尝试将this添加到我的项目中,并且我得到了带有无限加载图标旋转的Select customers框。

事情是这样的:

enter image description here

我想知道我“绑定”的数据来控制,所以我显示用户的列表就像他们的网站的例子。

到目前为止,我试图在HomeController的

public ActionResult GetCustomers([DataSourceRequest] DataSourceRequest request) 
{  
    string jstring = "[{\"CustomerID\": \"ALFKI\", \"ContactName\": \"Maria Anders\" ,\"CompanyName\": \"Alfreds Futterkiste\"}]"; 

    var obj = JsonConvert.DeserializeObject<List<userTest>>(jstring); 
    return Json(obj); 
} 

创建这个方法,我有这个类:

public class userTest 
{ 
    public string CustomerID { get; set; } 
    public string ContactName { get; set; } 
    public string CompanyName { get; set; } 
} 

,这是我index.cshtml:

<div class="demo-section"> 
    <h3 class="title">Select customers</h3> 
    @(Html.Kendo().MultiSelect() 
      .Name("customers") 
      .DataTextField("ContactName") 
      .DataValueField("CustomerID") 
      .DataSource(source => 
      { 
       source.Read(read => 
       { 
        read.Action("GetCustomers", "Home"); 
       }); 
      }) 
      .Height(300) 
      .HtmlAttributes(new { style = "width: 400px" }) 
      ... 
      .ItemTemplate("<span class=\"k-state-default\"><img src=\"" + Url.Content("http://yarris.design/images/userCentered.png") +" /> </span>" + "<span class=\"k-state-default\"><h3>#: data.ContactName #</h3><p>#: data.CompanyName #</p></span>") 
      .TagTemplate("<img class=\"tag-image\" src=\"" + 
      Url.Content("http://yarris.design/images/userCentered.png") + 
      "\" alt=\"\" />" + 
      "#: data.ContactName #") 
    ) 
</div> 

<script> 
    $(document).ready(function() { 
     var customers = $("#customers").data("kendoMultiSelect"); 
     customers.wrapper.attr("id", "customers-wrapper"); 
    }); 
</script> 

回答

1

好首先,你不需要那个dataSourceRequest作为参数。你需要返回一个带有dataTextField和DataValueField的Json。

我不知道什么是返回到obj变量,所以最后一行(与LINQ)不能完全匹配它的内容,但我认为你会明白的。

public ActionResult GetCustomers() 
{ 
    string jstring = "[{\"CustomerID\": \"ALFKI\", \"ContactName\": \"Maria Anders\" ,\"CompanyName\": \"Alfreds Futterkiste\"}]"; 
    var obj = JsonConvert.DeserializeObject<List<userTest>>(jstring); 
    return Json(obj.Select(s => new userTest { ContactName = s.ContactName, CustomerID = s.CustomerID }).Distinct(), JsonRequestBehavior.AllowGet); 
} 
+0

啊,好吧,即时通讯能够看到的东西现在:)仍在寻找有点奇怪视觉,但至少它显示的信息:),感谢您的帮助 – Ric

+0

奇怪的视觉?但是,您期望在DDL中看到的数据? – chiapa

+0

http://oi62.tinypic.com/mtayko.jpg其中一个字段为空 – Ric

相关问题