如何动态的从数据库读出数据去构建一个象csdn里的设置自定义社区 一样的页面

xiezhi 2004-12-09 04:11:43
如题
...全文
287 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiezhi 2005-01-06
  • 打赏
  • 举报
回复
谢谢大家关注!
xiezhi 2005-01-06
  • 打赏
  • 举报
回复
我自己解决了
方法有两种,用DataRelation
或是使用DataView
我用了DataView的RowFilter方法,大家可以参考ASP技术内幕12章的NestedRowFilter.aspx

<asp:Repeater ID="parentRepeater" Runat="server">
<ItemTemplate>
<b>
<%# DataBinder.Eval(Container.DataItem,"FUNCTIONNAME") %>
</b>
<br>
<asp:Repeater ID="childRepeater" Runat="server" DataSource='<%# FilterFunc((string)DataBinder.Eval(Container.DataItem,"FUNCTIONID")) %>'>
<ItemTemplate>
<input type="checkbox" name="strItem" value='<%# DataBinder.Eval(Container.DataItem, "FUNCTIONID" )%>' <%# DataBinder.Eval(Container.DataItem, "SPARE_MES" )%>><%# DataBinder.Eval(Container.DataItem, "FUNCTIONNAME" )%>
<br>
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>




private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
CLASS_ID.Text = Request.QueryString["CLASS_ID"];
SUB_CLASS.Text = Request.QueryString["SUB_CLASS"];
CODE.Text = Request.QueryString["CODE"];
NAME.Text = Request.QueryString["NAME"];

SysFuncSystem sfs = new SysFuncSystem();
DataSet ds = sfs.GetFuncTreeByPurviewForSet(CODE.Text);
DataSet dsChild = ds.Copy();

DataView dvParent = ds.Tables["SysFuncInfo"].DefaultView;
dvChild = dsChild.Tables["SysFuncInfo"].DefaultView;
dvParent.RowFilter = "PARENTID = '0'";
dvChild.RowFilter = "PARENTID <> '0'";

parentRepeater.DataSource = dvParent;
parentRepeater.DataBind();

}
public DataView FilterFunc(string parentID)
{
dvChild.RowFilter = "PARENTID = '" + parentID + "'";
return dvChild;
}
amendajing 2004-12-23
  • 打赏
  • 举报
回复
用这种动态的方法试试
amendajing 2004-12-23
  • 打赏
  • 举报
回复
string body="";
body=body+"<table cellPadding=3 cellSpacing=1 align=center width=100%>";
for(i=count;i<total;i++)
{ string query3="select * from userinfo where account='"+das.Tables["reply"].Rows[i]["account"].ToString()+"'";
OleDbDataAdapter dp=new OleDbDataAdapter(query3,conn);
DataSet dst=new DataSet();
dp.Fill(dst,"userinfo");
body=body+"<tr bgcolor=#f2f8ff><td width=30% height=145 valign=top><img src="+dst.Tables["userinfo"].Rows[0]["face"].ToString()+" border=0><br>";
body=body+"  用户名:  "+das.Tables["reply"].Rows[i]["account"].ToString()+"<br>";
body=body+"  头衔:      "+dst.Tables["userinfo"].Rows[0]["rank"].ToString()+"<br>";
body=body+"  等级:      "+dst.Tables["userinfo"].Rows[0]["grade"].ToString()+"<br>";
body=body+"  经验值:  "+dst.Tables["userinfo"].Rows[0]["gold"].ToString()+"<br>";
body=body+"  来自:      "+dst.Tables["userinfo"].Rows[0]["comefrom"].ToString()+"<br>";
body=body+"  总发贴:  <br>";
body=body+"  注册:      "+dst.Tables["userinfo"].Rows[0]["addtime"]+"<br></td>";
body=body+"<td width=70% valign=top height=145 bgcolor=#f2f8ff><br><hr width=100% color=#0099cc size=1><br>"+das.Tables["reply"].Rows[i]["content"].ToString()+"";
body=body+"<br><br><br><br><hr width=100% size=1 color=#0099cc>";
body=body+"</td></tr>";
dst.Clear();
dst.Dispose();
}
xiezhi 2004-12-23
  • 打赏
  • 举报
回复
说简单的朋友快来帮忙啊!
xiezhi 2004-12-22
  • 打赏
  • 举报
回复
KentYu(潜水的鱼) 发了么?我没有收到,能不能再发一下
wangxq_98 2004-12-22
  • 打赏
  • 举报
回复
ding
心情解码 2004-12-22
  • 打赏
  • 举报
回复
:)
xiezhi 2004-12-22
  • 打赏
  • 举报
回复
简单不是说说地!
xiezhi 2004-12-22
  • 打赏
  • 举报
回复
很简单,给原码啊?
conan19771130 2004-12-22
  • 打赏
  • 举报
回复
奇怪,用2叉树结构,不是很简单吗
fancyhsq 2004-12-19
  • 打赏
  • 举报
回复
???
xiezhi 2004-12-18
  • 打赏
  • 举报
回复
再次谢谢daxiezhi@yahoo.com.cn
KentYu 2004-12-17
  • 打赏
  • 举报
回复
数据库里格式为XML配合相应的XSL,有信箱吗?我可以发个相似的例子你
xiezhi 2004-12-16
  • 打赏
  • 举报
回复
我觉的从数据库读出一个DataSet就完全可以了,为什么一定要用XML呢!页面用嵌套式的DataList
xinbin1122 2004-12-16
  • 打赏
  • 举报
回复
这个问题,问得不太好,激发不出我的想象力
bineon 2004-12-15
  • 打赏
  • 举报
回复
搜索论坛。以前有详细的解决方案。比如搜索 静态页面 之类的
liulxmooo 2004-12-15
  • 打赏
  • 举报
回复
up
maksim_wei 2004-12-15
  • 打赏
  • 举报
回复
这个问题太大了吧,实施起来有很多细节的
nga96 2004-12-15
  • 打赏
  • 举报
回复
对,就按楼上的办,我们兄弟就这样完成的
加载更多回复(6)

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧