如何将数据绑定到YUI Treeview控件http://developer.yahoo.com/yui/examples/treeview/default_tree.html
以下是上述网址中使用的示例JavaScript代码
<div id="treeDiv1">
</div>
<script type="text/javascript">
var tree;
(function() {
function treeInit() {
buildRandomTextNodeTree();
}
function buildRandomTextNodeTree() {
tree = new YAHOO.widget.TreeView("treeDiv1");
for (var i = 0; i < 5; i++) {
var tmpNode = new YAHOO.widget.TextNode("label-" + i, tree.getRoot(), false);
buildLargeBranch(tmpNode);
}
tree.draw();
}
function buildLargeBranch(node) {
if (node.depth < 8) {
YAHOO.log("buildRandomTextBranch: " + node.index, "info", "example");
for (var i = 0; i < 8; i++) {
new YAHOO.widget.TextNode(node.label + "-" + i, node, false);
}
}
}
YAHOO.util.Event.onDOMReady(treeInit);
})();
</script>
问题是,YUI treeview控件是用javascript绑定的,但我想用C#代码绑定,因为我需要从Database获取数据,这里是我如何将数据绑定到asp.net treeview控件
if (dsSalesRepresent.Tables[0].Rows.Count > 0)
{
dsSalesRepresent.Relations.Add("Children", dsSalesRepresent.Tables[0].Columns["NodeId"], dsSalesRepresent.Tables[0].Columns["ParentId"]);
trvSalesRepresent.Nodes.Clear();
foreach (DataRow masterRow in dsSalesRepresent.Tables[0].Rows)
{
if (masterRow["ParentId"].ToString() == "")
{
TreeNode masterNode = new TreeNode((String)masterRow["JobTitle"], Convert.ToString(masterRow["NodeId"]));
trvSalesRepresent.Nodes.Add(masterNode);
TreeNode FirstchildNode = new TreeNode((String)masterRow["UserName"], Convert.ToString(masterRow["ParentId"]));
masterNode.ChildNodes.Add(FirstchildNode);
foreach (DataRow childRow in masterRow.GetChildRows("Children"))
{
TreeNode childNode = new TreeNode((String)childRow["UserName"], Convert.ToString(childRow["ParentId"]));
masterNode.ChildNodes.Add(childNode);
}
}
}
trvSalesRepresent.ExpandAll();
}
答案 0 :(得分:0)
我的所有评论都假设你的意思是WebForms而不是MVC。
YUI框架纯粹是客户端。无论服务器平台如何,它都可以与任何网站一起使用。 ASP.NET树视图仅用于ASP.Net,因此没有该限制。它是一个服务器控件,因此它实际上会发出客户端需要的所有内容,即使它看起来像是直接绑定到它。
有两种选择,但有很多选择:
就像你问这个问题的方式让我觉得你不熟悉“真正的”AJAX,所以这就是为什么我有下一个选择: