4
我目前正試圖找出KendoUI。我正在使用版本2012.1.322。無法將簡單的字符串列表綁定到ListView
我有一個簡單的字符串數組List<string>
通過AJAX調用返回給web方法中的用戶。
["name","phone","address","zip"]
當ListView控件綁定列表是空的,我只得到
<ul id="fileAlist" data-role="listview" class="k-widget k-listview"></ul>
。
我很確定它與我的模板出錯有關。我有什麼要設置的,而不是${Object}
讓它呈現,如:
<ul id="fileAlist" data-role="listview" class="k-widget k-listview">
<li>name</li>
<li>phone</li>
<li>address</li>
<li>zip</li>
</ul>
下面是當前的代碼:
$(document).ready(function() {
$("#fileAlist").kendoListView({
template: "<li>${Object}</li>",
dataSource:
new kendo.data.DataSource({
transport: {
read: {
url: '@Url.Action("GetColumnNames", new {File="A"})',
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8"
}
}
})
});
});
C#代碼(在-如果你有興趣)
[HttpGet]
public JsonResult GetColumnNames(string file)
{
if (file == "A")
{
var columns = new List<string>()
{
"name",
"phone",
"address",
"zip"
};
}
return new JsonResult { Data = columns, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}
其他一些試驗和失敗 下面是我嘗試的一些模板創意以及返回的結果。顯然,他們都沒有給我我想要的字符串輸出。
- 我試圖改變模板是
template: "<li>${}</li>"
和渲染,當我得到<li>undefined</li>
- 我試圖改變tempalte是
template: "<li>$.val()</li>"
和渲染,當我得到<li>$.val()</li>
- 我試圖改變tempalte是
template: "<li>${}.selector</li>"
當呈現我得到<li>undefined.selector</li>
我明白你的例子,我能得到它,如果我使用一個對象,如聯繫你的榜樣'名單名單=新名單()工作;'我要問的是如何讓它與一個字符串'List ()list = new List ();' –
Mark
@lgorrious我已經包括我的控制器方法,返回字符串列表,希望幫助。我確實改變了它以返回'json',因爲它本來應該是第一位的。我改變了它在kendo網站上的一個例子,並忘記在發佈之前將它改回來。 – Mark
@Mark這確實有幫助,看看我修改後的答案。您只有一個字符串列表才能返回有效的json鍵+值對字符串。所以我添加了另外一本字典集合以避免必須擁有一個具體的類。 – Igorrious