首页文章分类排放的问题现在显示栏目用的是<asp:repeater>循环显示所有的栏目,这个没有问题关键是显示栏目下面的文章说明一下:在存放文章的wyx_text表里,有一个wyx_class的列对应的是存放栏目的wyx_class表里的wyx_id列有人说用循环嵌套的方式显示,我的理解是在<asp:repeater>中间嵌入诸如GridView、Datalist或者DataGrid等控件但是我试了不行,用这种方法,如果将GridView的ID设为wyxList,程序运行时提示无法找到wyxList我想用函数方式的DataReader循环输出文章列表好了,文章能显示了,因为它是把所有的文章都显示出来,而不是相对应的分栏目显示于是我在函数方式的DataReader循环输出文章列表加个条件Socut.Reader dr = new Socut.Reader("SELECT * FROM wyx_text WHERE wyx_class="+classid);问题来了,classid怎么获取wyx_class里的wyx_id值?请看前后台代码
【前台代码】:
<asp:repeater id="wyxList" runat="server"><ItemTemplate>
<table width="85%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr bgcolor="#93C8D2">
<td height="28" colspan="2" bgcolor="#E7E7E7" class="popt_1" style="color: #000000; font-size: 14px; text-align: left;">
◎ <%# DataBinder.Eval(Container.DataItem,"wyx_classname") %>
</td>
<td align="right" valign="middle" bgcolor="#CCCCCC" style="width: 123px">
<div align="center">
<span style="color: #000000"><a href="list.aspx?classid=<%# DataBinder.Eval(Container.DataItem,"wyx_id") %>" target="_blank">更多</a></span></div>
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="2" height="21" style="text-align: left"><%=textlist() %>
</td>
<td align="center" class="popt_5" style="font-size: 14px; width: 123px;" height="21">
</td>
</tr>
</table>【后台代码】: protected void Page_Load(object sender, EventArgs e)
{ //显示栏目分类
DataSet ds = Socut.Data.ExecuteDataSet("SELECT * FROM wyx_class ORDER BY wyx_classsort ASC");
string classid = "wyx_id";
wyxList.DataSource = ds; //设置数据源
wyxList.DataBind(); //绑定数据
} public string textlist()
{
string strBody = null;
Socut.Reader dr = new Socut.Reader("SELECT * FROM wyx_text");
while (dr.Read()) //使用while循环,表示从头一直查找到尾
{
strBody += "·" + "<a href='view.aspx?id="+dr["wyx_id"]+"' target=_blank>"+dr["wyx_title"].ToString() + "</a><br>"; //使用“+=”累加数据
}
dr.Close();//
return strBody; }
附上数据库表的结构图:wyx_class表(栏目分类):
字段:wyx_id(自动编号),wyx_classname(分类名称),wyx_classsort(分类排序)
wyx_text表(文章内容):
字段:wyx_id(自动编号),wyx_class(栏目类别),wyx_title(标题),wyx_autho(文章作者),wyx_date(录入日期),wyx_content(文章内容)
注:其中wyx_text表中的wyx_class字段对应wyx_class表中的wyx_id字段,它俩是一样的比如说栏目小说的wyx_id=1,那所有小说的文章的wyx_class值都应该为1
【前台代码】:
<asp:repeater id="wyxList" runat="server"><ItemTemplate>
<table width="85%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr bgcolor="#93C8D2">
<td height="28" colspan="2" bgcolor="#E7E7E7" class="popt_1" style="color: #000000; font-size: 14px; text-align: left;">
◎ <%# DataBinder.Eval(Container.DataItem,"wyx_classname") %>
</td>
<td align="right" valign="middle" bgcolor="#CCCCCC" style="width: 123px">
<div align="center">
<span style="color: #000000"><a href="list.aspx?classid=<%# DataBinder.Eval(Container.DataItem,"wyx_id") %>" target="_blank">更多</a></span></div>
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="2" height="21" style="text-align: left"><%=textlist() %>
</td>
<td align="center" class="popt_5" style="font-size: 14px; width: 123px;" height="21">
</td>
</tr>
</table>【后台代码】: protected void Page_Load(object sender, EventArgs e)
{ //显示栏目分类
DataSet ds = Socut.Data.ExecuteDataSet("SELECT * FROM wyx_class ORDER BY wyx_classsort ASC");
string classid = "wyx_id";
wyxList.DataSource = ds; //设置数据源
wyxList.DataBind(); //绑定数据
} public string textlist()
{
string strBody = null;
Socut.Reader dr = new Socut.Reader("SELECT * FROM wyx_text");
while (dr.Read()) //使用while循环,表示从头一直查找到尾
{
strBody += "·" + "<a href='view.aspx?id="+dr["wyx_id"]+"' target=_blank>"+dr["wyx_title"].ToString() + "</a><br>"; //使用“+=”累加数据
}
dr.Close();//
return strBody; }
附上数据库表的结构图:wyx_class表(栏目分类):
字段:wyx_id(自动编号),wyx_classname(分类名称),wyx_classsort(分类排序)
wyx_text表(文章内容):
字段:wyx_id(自动编号),wyx_class(栏目类别),wyx_title(标题),wyx_autho(文章作者),wyx_date(录入日期),wyx_content(文章内容)
注:其中wyx_text表中的wyx_class字段对应wyx_class表中的wyx_id字段,它俩是一样的比如说栏目小说的wyx_id=1,那所有小说的文章的wyx_class值都应该为1
解决方案 »
- 求一个SQL语句。关于上下值的问题
- SQL语句拼装会有什么坏处吗?
- ASP.NET实现第一次访问页面显示“你好,欢迎你的到来”问题
- objectdatasource,sqldatasource区别,请问老大
- 网站有没有必要用三层结构?
- 讨论使用xml+xsl做显示页面的优缺点
- 如何查询和更新DataTalbe
- TO: zhanqiangz(闲云野鹤-Overriding)
- 从excel中导数据到datagrid,字符串导不进去!
- C# 关于接受POST 数据的问题
- 采用asp.net 的forms认证,采用身份验证票验证登录,设置保存期为1年,但是30分钟以后验证票就不好使了,为什么?
- 两段代码的对比,哪一个好
再写个SQL取这个wyx_id不可以吗?
这两张表的结构类似于:“分类,产品” 这样的结构吧?
应该可以取到啊