MVC3 JSON Telerik MVC TreeView Javascript
我正在尝试从json绑定数据。在控制器中,我正在发送MVC3 JSON Telerik MVC TreeView Javascript,javascript,json,asp.net-mvc-3,telerik,Javascript,Json,Asp.net Mvc 3,Telerik,我正在尝试从json绑定数据。在控制器中,我正在发送 ...... public JsonResult LoadTree() ........ return Json(jn, JsonRequestBehavior.AllowGet); 在调试中,我在jn中获得值(47项,每个项有两个条目(文本和值) 在视图中,我使用以下脚本: function onDataBinding(e) { var url = 'CourseCases/LoadTree'; var result;
......
public JsonResult LoadTree()
........
return Json(jn, JsonRequestBehavior.AllowGet);
在调试中,我在jn中获得值(47项,每个项有两个条目(文本和值)
在视图中,我使用以下脚本:
function onDataBinding(e) {
var url = 'CourseCases/LoadTree';
var result;
$.ajax({
url: url,
data: {},
contentType: "application/json",
success: function (data) {
alert(data);
var treeview = $("#TreeView").data("tTreeView");
treeview.bindTo(data);
}
});
}
它不工作,警报显示对象,对象;树视图为空!
知道为什么吗?提前谢谢。也许你应该直接在$.post的回调方法中调用treeview.bindTo。我想用当前的代码,你可能会在回调中确保jn==内容之前将treeview绑定到jsonObject==jn。如果你发出警报,你会增加很大的延迟,这会给AJAX post足够的时间来完成并运行callback.可能您应该直接在$.post的回调方法中调用treeview.bindTo。我想用当前的代码,您可能会在回调中确保jn==内容之前将treeview绑定到jsonObject==jn。如果您发出警报,会增加很大的延迟,这会给AJAX post足够的时间来完成并运行回调。实际上您发送的属性应该被称为
Value
和Text
,而不是Value
和Text
控制器:
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult LoadTree()
{
var jn = new[]
{
new { Value = "1", Text = "Item 1" },
new { Value = "2", Text = "Item 2" },
new { Value = "3", Text = "Item 3" },
};
return Json(jn, JsonRequestBehavior.AllowGet);
}
}
视图(~/Views/Home/Index.cshtml
):
函数onDataBinding(e){
var url='@url.Action(“LoadTree”);
var结果;
$.ajax({
url:url,
数据:{},
成功:功能(数据){
var treeview=$(“#treeview”).data(“tTreeView”);
treeview.bindTo(数据);
}
});
}
@(Html
.Telerik()
.TreeView()
.名称(“树视图”)
.客户事件(事件=>
{
事件。OnDataBinding(“OnDataBinding”);
})
)
实际上,您发送的属性应该被称为Value
和Text
,而不是Value
和Text
。下面是一个对我来说很好的例子
控制器:
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult LoadTree()
{
var jn = new[]
{
new { Value = "1", Text = "Item 1" },
new { Value = "2", Text = "Item 2" },
new { Value = "3", Text = "Item 3" },
};
return Json(jn, JsonRequestBehavior.AllowGet);
}
}
视图(~/Views/Home/Index.cshtml
):
函数onDataBinding(e){
var url='@url.Action(“LoadTree”);
var结果;
$.ajax({
url:url,
数据:{},
成功:功能(数据){
var treeview=$(“#treeview”).data(“tTreeView”);
treeview.bindTo(数据);
}
});
}
@(Html
.Telerik()
.TreeView()
.名称(“树视图”)
.客户事件(事件=>
{
事件。OnDataBinding(“OnDataBinding”);
})
)
谢谢,问题是我在控制器中调试程序时看到了json数据,但当我在视图中有警报时,它是空的!!谢谢,问题是我在控制器中调试程序时看到了json数据,但当我在视图中有警报时,它是空的!!谢谢Darin的帮助。谢谢Darin的帮助。