Asp.net mvc 无法在kendo MVC树视图中获取HtmlAttributes项的值
我正在使用Kendo MVC包装扩展从我的模型创建一个树状视图。我想通过HtmlAttributes将模型中的一些数据传递给视图。 以下是我的行动:Asp.net mvc 无法在kendo MVC树视图中获取HtmlAttributes项的值,asp.net-mvc,treeview,kendo-treeview,Asp.net Mvc,Treeview,Kendo Treeview,我正在使用Kendo MVC包装扩展从我的模型创建一个树状视图。我想通过HtmlAttributes将模型中的一些数据传递给视图。 以下是我的行动: public ActionResult Index() { var nodeList = new List<TreeViewItemModel>(); nodeList.Add(new TreeViewItemModel { Id = "1",
public ActionResult Index()
{
var nodeList = new List<TreeViewItemModel>();
nodeList.Add(new TreeViewItemModel
{
Id = "1",
Text = "Item 1",
HasChildren = true,
HtmlAttributes = new Dictionary<string, string>
{
{"class","XXXX"}
},
Items = new List<TreeViewItemModel>
{
new TreeViewItemModel{Id="1.1", Text = "sub Item 1.1",HasChildren = false},
new TreeViewItemModel{Id="1.2", Text = "sub Item 1.2",HasChildren = false}
});
nodeList.Add(new TreeViewItemModel { Id = "2", Text = "Item 2", HasChildren = false });
return View(nodeList);
}
public ActionResult Index()
{
var nodeList=新列表();
添加(新的TreeViewItemModel)
{
Id=“1”,
Text=“第1项”,
HasChildren=正确,
HtmlatAttributes=新词典
{
{“类”,“XXXX”}
},
项目=新列表
{
新的TreeViewItemModel{Id=“1.1”,Text=“子项1.1”,HasChildren=false},
新的TreeViewItemModel{Id=“1.2”,Text=“子项1.2”,HasChildren=false}
});
添加(新的TreeViewItemModel{Id=“2”,Text=“Item 2”,HasChildren=false});
返回视图(节点列表);
}
以下是我的看法:
@using Kendo.Mvc.UI
@model IEnumerable<Kendo.Mvc.UI.TreeViewItemModel>
@(Html.Kendo().TreeView()
.Name("treeView")
.BindTo(Model)
.DragAndDrop(true)
)
@使用Kendo.Mvc.UI
@模型IEnumerable
@(Html.Kendo().TreeView())
.名称(“树视图”)
.BindTo(型号)
.DragAndDrop(正确)
)
这是来自Chrome的元素
<li class="k-item k-first" data-id="1" data-uid="6263f4c5-85f3-446c-a843-7d3786fb0f68" role="treeitem" id="treeView_tv_active">
正如您所见,我的li标签中没有任何类:XXX,那么我如何才能将XXX类赋予li标签?我不知道如何自动执行此操作,因此这里有一个解决方法 C#将
List()
传递回treeview->datasource->transport->read事件:
var items = new List<Kendo.Mvc.UI.TreeViewItemModel>();
////////////////////////////////////////////////////////////////////////////////
// areas of expertise
var aoe = new Kendo.Mvc.UI.TreeViewItemModel()
{
Text = "Areas of Expertise",
Id = "resume-treeview-category-AreasOfExpertise",
HasChildren = false,
HtmlAttributes = new Dictionary<string, string>(){{ "class", "resume-treeview-category"}, {"cat-id", "AreasOfExpertise" }},
};
items.Add(aoe);
return Json(items, JsonRequestBehavior.AllowGet);
var items=newlist();
////////////////////////////////////////////////////////////////////////////////
//专业领域
var aoe=new Kendo.Mvc.UI.TreeViewItemModel()
{
Text=“专业领域”,
Id=“resume treeview类别区域专家”,
HasChildren=假,
HtmlAttributes=new Dictionary(){{“class”,“resume treeview category”},{“cat id”,“AreasOfExperties”},
};
项目。添加(aoe);
返回Json(items,JsonRequestBehavior.AllowGet);
然后我钩住dataBound事件,将上述属性添加到treeview项中
jQuery(文档).ready(函数($){
$(“#文档树视图”).kendoTreeView({
dataTextField:“文本”,
数据源:{
运输:{
阅读:{
键入:“POST”,
url:“@url.Action”(“GetAllTreeData”,“Document2”)”,
contentType:'application/json;charset=utf-8',
数据类型:“json”
},
parameterMap:函数(数据,类型){
如果(类型=“读取”){
返回JSON.stringify({
id:ResumeId
});
}
}
},
模式:{
型号:{
id:“id”,
hasChildren:“hasChildren”,
儿童:“物品”
}
}
},
数据绑定:函数(e){
//显然,在创建treeview后读取项目并不应用html属性。请在此处执行此操作。
var len=this.dataSource.data().length;
对于(变量i=0;i
请注意,从C#添加的HtmlAttributes在JavaScript=/中显式处理,在我的情况下也会发生同样的情况。找不到答案:/