예제 #1
0
        private static string JsTreeJavascriptInit(string TreeViewTarget, string ActionUrl, bool IsCheck, JsTreeDataFormat DataFormat)
        {
            string StrCheckBox = IsCheck ? ",\"checkbox\"" : "";

            var builder = new TagBuilder("script");

            builder.MergeAttribute("type", "text/javascript");

            StringBuilder innerHtml = new StringBuilder();

            innerHtml.Append("\n\t$(function(){");

            innerHtml.AppendFormat("$(\"#{0}\") ", TreeViewTarget);
            innerHtml.Append("		.jstree({ ");
            innerHtml.Append("           \"plugins\": [\"themes\", \"" + DataFormat.ToString() + "\", \"ui\", \"crrm\", \"cookies\", \"dnd\", \"search\", \"types\", \"hotkeys\", \"contextmenu\", \"unique\" " + StrCheckBox + " ], ");
            innerHtml.AppendFormat("		    \"{0}\": { ", DataFormat.ToString());
            innerHtml.Append("		        \"ajax\": { ");
            innerHtml.AppendFormat("		            \"url\": \"{0}\", ", ActionUrl);
            innerHtml.Append("		            \"data\": function(n) { ");
            innerHtml.Append("		                return { ");
            innerHtml.Append("		                    \"operation\": \"get_children\", ");
            innerHtml.Append("		                    \"id\": n.attr ? n.attr(\"id\").replace(\"node_\", \"\") : 1 ");
            innerHtml.Append("		                }; ");
            innerHtml.Append("		            } ");
            innerHtml.Append("		        } ");
            innerHtml.Append("		    }, ");
            innerHtml.Append("  'core':{ 'animation':0  },");
            innerHtml.Append("		    \"themes\" : { ");
            innerHtml.Append("		        \"theme\": \"default\", ");
            innerHtml.Append("		        \"url\": \"/Content/JsTreeThemes/classic/style.css\", ");
            innerHtml.Append("		        \"dots\": true, ");
            innerHtml.Append("	            \"icons\" : false ");
            innerHtml.Append("	        }, ");
            innerHtml.Append("		    \"ui\": { ");
            innerHtml.Append("		        \"select_limit\" : 1, ");
            innerHtml.Append("	            \"select_multiple_modifier\" : \"ctrl\"           ");
            innerHtml.Append("		    }		     ");
            innerHtml.Append("		}) ");

            innerHtml.Append("\n\t});\n    ");
            builder.InnerHtml = innerHtml.ToString();
            return(builder.ToString(TagRenderMode.Normal));
        }
예제 #2
0
 /// <summary>
 /// 初始化JsTree
 /// </summary>
 /// <param name="helper"></param>
 /// <param name="TreeId">层对象ID</param>
 /// <param name="ActionUrl">获取数据源URL</param>
 /// <param name="IsCheck">是否显示CheckBox</param>
 /// <param name="DataFormat">返回数据格式</param>
 /// <returns></returns>
 public static string TreeView(this HtmlHelper helper, string TreeId, string ActionUrl, bool IsCheck, JsTreeDataFormat DataFormat)
 {
     return(JsTreeJavascriptInit(TreeId, ActionUrl, IsCheck, DataFormat));
 }