无法读取未定义的属性'setdatasource' [英] Cannot read property 'setdatasource' of undefined
问题描述
嗨我有一个剑道下拉如下:
@(Html.Kendo()。DropDownList()
.Name( ddlRoleID)
.OptionLabel(选择角色)
.HtmlAttributes(new {@style =float:left; text-align:left; width:59 %;})
.DataTextField(RoleName)
.DataValueField(RoleID)
.DataSource(source =>
{
source.Read(read =>
{
read.Action(Bi ndRole,WebUser);
});
})
)
使用ajax请求填充数据,数据也显示如下:
Hi I have a kendo dropdown as follows:
@(Html.Kendo().DropDownList()
.Name("ddlRoleID")
.OptionLabel("Select Role")
.HtmlAttributes(new { @style = " float: left; text-align: left; width: 59%;" })
.DataTextField("RoleName")
.DataValueField("RoleID")
.DataSource(source =>
{
source.Read(read =>
{
read.Action("BindRole", "WebUser");
});
})
)
the data is populated using ajax request and the datas are shown also as this:
//this is to bind role when the page is loaded first
var ddl = $('#ddlRoleID').data("kendoMultiSelect");
$.ajax({
url: "/WebUser/BindRole",
type: "Post",
async: true,
success: function (listItems) {
ddl.setDataSource(listItems);
ddl.refresh();
}
});
控制器方法如下:
The controller method is as this:
public JsonResult BindRole()
{
using (myEntities ObjEntities = new InternalDashboardEntities())
{
var roleList = ObjEntities.WebUserRole.Select(id => new { id.RoleID, id.RoleName }).AsEnumerable()
.Select(x => new
{
RoleID = x.RoleID,
RoleName = x.RoleName
});
return Json(roleList.ToList(), JsonRequestBehavior.AllowGet);
}
}
下拉列表已填充,但当我执行F12时,我可以看到错误说无法读取setDataSource。此问题是由于布局文件中列出的不正确的jquery资源引起的。非常感谢您的帮助。
谢谢
我的尝试:
布局中的jquery有这个结构。
< script src =@ Url .Content(〜/ Scripts / jquery-1.10.2.min.js)>< / script>
< script src =@ Url.Content(〜/ Scripts /kendo/2016.1.406/kendo.all.min.js\")\"></script>
< script src =@ Url.Content(〜/ Scripts / kendo / 2016.1.406 / kendo.aspnetmvc.min.js)>< / script>
< script src =@ Url.Content(〜/ Scripts / kendo.modernizr.custom.js)>< / script>
The dropdown is populated but when I do F12, i can see the error saying cannot read setDataSource. Is this issue arising due to incorrect jquery resources listed in layout file or something else. Your help would be appreciated.
Thanks
What I have tried:
jquery in layout has this strucutre.
<script src="@Url.Content("~/Scripts/jquery-1.10.2.min.js")"></script>
<script src="@Url.Content("~/Scripts/kendo/2016.1.406/kendo.all.min.js")"></script>
<script src="@Url.Content("~/Scripts/kendo/2016.1.406/kendo.aspnetmvc.min.js")"></script>
<script src="@Url.Content("~/Scripts/kendo.modernizr.custom.js")"></script>
推荐答案
(' #ddlRoleID')。data( kendoMultiSelect);
('#ddlRoleID').data("kendoMultiSelect");
.ajax({
url: / WebUser / BindRole,
类型: 发布,
async: true ,
成功: function (listItems){
ddl.setDataSource(listItems);
ddl.refresh();
}
});
.ajax({ url: "/WebUser/BindRole", type: "Post", async: true, success: function (listItems) { ddl.setDataSource(listItems); ddl.refresh(); } });
控制器方法是这样的:
The controller method is as this:
public JsonResult BindRole()
{
using (myEntities ObjEntities = new InternalDashboardEntities())
{
var roleList = ObjEntities.WebUserRole.Select(id => new { id.RoleID, id.RoleName }).AsEnumerable()
.Select(x => new
{
RoleID = x.RoleID,
RoleName = x.RoleName
});
return Json(roleList.ToList(), JsonRequestBehavior.AllowGet);
}
}
下拉列表已填充,但当我执行F12时,我可以看到错误说无法读取setDataSource。此问题是由于布局文件中列出的不正确的jquery资源引起的。非常感谢您的帮助。
谢谢
我的尝试:
布局中的jquery有这个结构。
< script src =@ Url .Content(〜/ Scripts / jquery-1.10.2.min.js)>< / script>
< script src =@ Url.Content(〜/ Scripts /kendo/2016.1.406/kendo.all.min.js\")\"></script>
< script src =@ Url.Content(〜/ Scripts / kendo / 2016.1.406 / kendo.aspnetmvc.min.js)>< / script>
< script src =@ Url.Content(〜/ Scripts / kendo.modernizr.custom.js)>< / script>
The dropdown is populated but when I do F12, i can see the error saying cannot read setDataSource. Is this issue arising due to incorrect jquery resources listed in layout file or something else. Your help would be appreciated.
Thanks
What I have tried:
jquery in layout has this strucutre.
<script src="@Url.Content("~/Scripts/jquery-1.10.2.min.js")"></script>
<script src="@Url.Content("~/Scripts/kendo/2016.1.406/kendo.all.min.js")"></script>
<script src="@Url.Content("~/Scripts/kendo/2016.1.406/kendo.aspnetmvc.min.js")"></script>
<script src="@Url.Content("~/Scripts/kendo.modernizr.custom.js")"></script>
这篇关于无法读取未定义的属性'setdatasource'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!