您的位置:首页 > 编程语言 > ASP

wsaspx文章管理系统开发笔记(3)

2005-08-15 11:57 316 查看
接着上次继续.因为NewsClass方法写到这里,一些与NewsClass有关的操作的方法也有了.先开始做显示所有NewsClass的列表.因为我的NewsClass是分为二级(多级也可以,但我看很多文章系统分设那么多级,好像没什么用,费神费时间),所以打算用两个嵌套的Repeater控件来实现.首先是获取父控件的DataSource.这里我考虑了很久,本来打算用DataReader做数据源,但好像也不省事(具体我没有实践过,有谁做过的告诉一声,让我看看),后来还是改用我比较熟悉的DataSet.分别取得父表,子表,然后建立"父子关系".他们不是天生的.如果Asp.net聪明到什么都可以判断该多好.很明显他们是父子关系,但是还是得写一些代码.Bind()方法用来绑定数据源到父Repeater控件,在我的代码里就是RptParent.另外有两个数据读取器,他们也很好理解.我比较倾向于使用DataReader,但这里似乎DataAdapter更合适一点???

1<asp:Label id="LbName" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "NewsClassName")%>'/>
上面是父Repeater控件里绑定的东东.在子Repeater控件绑定的时候出现了一点点小故障.我原来用跟上面一摸一样的代码绑定子控件,出错.具体错误忘记了.下面把两处关键的代码帖一下.

<asp:Repeater id="RptChild" Runat=server DataSource='<% # ((DataRowView)Container.DataItem)
.Row.GetChildRows("wsrelation") %>'>这里设置子控件的数据源.很不爽,在绑定值的时候比绑定父控件麻烦一点.

<asp:Label id="Label1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "[\"NewsClassName\"]")%>'/>在我的项目中新建一 Test.aspx.并设为启动项,把上面做的这个web用户自定义控件拖进去.F5一下,呵呵.父子关系还比较融洽,在同一桌面上出现了.:)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: