如何从SQL查询填充jQuery树视图的无序列表?
问题描述:
我在ASP.NET中是全新的,所以我认为这是一个简单的问题。在我的应用程序尝试使用jQuery树状,在默认页面我有以下代码:如何从SQL查询填充jQuery树视图的无序列表?
<script src="jquery-1.6.2.js" type="text/javascript"></script>
<script src="jquery.treeview.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#example").treeview({
persist: "location",
collapsed: true,
animated: "medium"
});
});
</script>
我需要填充的树,所以我用下面的例子:
<ul id="example" runat="server" class="filetree">
<li><span class="folder">Folder 1</span>
<ul>
<li><span class="file">Item 1.1</span></li>
</ul>
</li>
<li><span class="folder">Folder 2</span>
<ul>
<li><span class="folder">Subfolder 2.1</span>
<ul>
<li><span class="file">File 2.1.1</span></li>
<li><span class="file">File 2.1.2</span></li>
</ul>
</li>
<li><span class="file">File 2.2</span></li>
</ul>
</li>
<li class="closed"><span class="folder">Folder 3 (closed at start)</span>
<ul>
<li><span class="file">File 3.1</span></li>
</ul>
</li>
<li><span class="file">File 4</span></li>
</ul>
问题是我通过使用SQL查询从我的数据库中获取树视图的数据。
所以我的问题是如何填充这个无序列表与我的数据?提前感谢!
答
编辑: 这是一种将强类型对象传递给视图的方法。
创建一个方法来加载你的清单,并把它添加到您的会话,所以你可以调用每一个回发这种方法,以确保您的名单还是在会议,像这样:
private void LoadMyListToSession()
{
DataContext ctx = New DataContext(); // instantiate your datacontext if you haven't done so before
List<Object> ObjectList = ctx.MyDataTable().ToList(); // load your list
Page.Session.Add("MyVariableName", ObjectList); // add your list to the session
}
上执行类似的代码你的Page_Load事件或您要确保您的名单还是在会议,像这样的任何其他方法:
private void Page_Load(object sender, System.EventArgs e) {
LoadMyListToSession();
}
您通过查看一个强类型的对象,如列表之类的您使用存储项目s并且遍历它来动态创建<ul>
。
例如,考虑链表类是强类型列表:
<% List<Object> ObjectList = (List<Object>) Session["ObjectList"]; &>
<% if(ObjectList != null && ObjectList.Count > 0){ %>
<ul>
<% foreach(Object item in ObjectList)
{ %>
<li><%= item.Name; %></li>
<% } %>
</ul>
<% } %>
正如你可以在上面的例子中看到的,如果链表类是你从数据库中加载项的列表,你可以遍历它会在每次迭代中创建一个<li>
,其中包含您希望的迭代项目中的任何属性。 请记住,您需要从会话中加载您的对象,如上所示!
如果您还有问题,请询问。
非常感谢您的回答!我会尽量按照你的建议! –
您使用的是哪个版本的ASP.NET?它是一个webforms应用程序? – Hallaghan
是的,这是一个webform,ASP.Net版本4.0。一个愚蠢的问题 - 在将数据列表填充到服务器端后,我如何将数据列表传递给View? –