checked在C#中爲保留字,因此沒法使用,一開始嘗試使用首字母大寫的形式:Checked前端
public class EasyUITreeNode : VuFunction.VuLang
{
#region Model
private int _id;
private string _text;
private List<EasyUITreeNode> _children;
private string _state;
private string _attributes;
private bool _checked;node
/// <summary>
/// ID
/// </summary>
public int id
{
set { _id = value; }
get { return _id; }
}
/// <summary>
/// 顯示的文本
/// </summary>
public string text
{
set { _text = value; }
get { return _text; }
}
/// <summary>
/// 子節點
/// </summary>
public List<EasyUITreeNode> children
{
set { _children = value; }
get { return _children; }
}
/// <summary>
/// closed或open,表示節點是展開仍是摺疊
/// </summary>
public string state
{
set { _state = value; }
get { return _state; }
}
/// <summary>
/// 自定義屬性
/// </summary>
public string attributes
{
set { _attributes = value; }
get { return _attributes; }
}
/// <summary>
/// 是否選中
/// </summary>
public bool Checked
{
set { _checked = value; }
get { return _checked; }
}
#endregion Modeljson
}後端
返回json給前臺頁面時,發現easyUI是區分大小寫的,沒法識別Checked異步
此時大佬指點我,後端搞不定的就讓前端來。url
開始js代碼:get
//編輯時加載
$('#articleInfoTree').tree({
checkbox: true,
animate: true,
method: 'GET',
lines: true,
url: 'Admin.aspx?getTreeDate=get_Tree_Date&status=1&userId=' + $("#vu_id").val(),//這是第一次加載樹的url 加載根節點
loadFilter: function (data) {//easyUI過濾數據源
//console.log(data);
if (data && data.length) {
for (var i = 0; i < data.length; i++) {
var item = data[i];
item.checked = item.Checked;//新增父節點checked=Checked
if (item.children && item.children.length) {
for (var j = 0; j < item.children.length; j++) {
var son = item.children[j];
son.checked = son.Checked;//新增子節點checked=Checked
}
}
}
}
return data;
},
onBeforeExpand: function (node) {
//$("#articleInfoTree").tree('options').url = 'Admin.aspx?getTreeDate=get_Tree_Date&status=1&userId=' + $("#vu_id").val();//這是點擊父節點的時候發送請求去加載子節點,異步tree使用,這裏是同步tree
}
});同步