两个表tb_newsKind,tb_article,表1存的是栏目类别kindID,kindName依次存储的是栏目的编号和名称,如34是新闻播报,其子栏目为35时事新闻和36整点新闻两者的parentID都为34)。
页面接收传入的一级栏目的kindID来调用它的二级栏目DataList1一行两列的循环显示kindName(kindID)已经实现,而每个循环栏目对应的新闻列表需要根据DataList1获取的kindID来读取tb_article表中的新闻(tb_article中typeID为nvarchar型比如值为 |34|35|,表示该条记录是属于新闻播报栏目下时事新闻)以列表形式显示在对应的栏目下如:
新闻播报(35) 时事新闻(36)
1.** 1.**
2.** 2.**
一行两列的循环,新闻播报下面的1,2记录根据35从tb_article表中筛选typeID like '%35%' 得到!昨天发贴想父DataList嵌套子DataList来实现的,可是小弟没有做出,这次换个方法:写了一个方法str得到对应栏目下的title的集合并且之间用<br>隔开来实现每个栏目下面新闻列表显示的效果代码如下:
后台cs中代码为:
public string retrunTitle(string kindId)
{
//第一步获得 dt2
string TypeId = "";
string str = "";
DataTable dt = new DataTable();
try
{
dt = Info_Get_News(Convert.ToInt32(kindId));
}
catch
{ } //根据接收过来的typeid从tb_newskind表调用Info_Get_News方法获得对应typeid的二级栏目的kindID和kindName的数据表dt
for (int m = 0; m < dt.Rows.Count; m++)
{
TypeId = dt.Rows[m]["kindID"].ToString();
TypeId = "|" + TypeId + "|";
DataTable dt2 = new DataTable();
try
{
dt2 = Info_Get_DataList(TypeId); //调用Info_Get_DataList方法得到tb_article表中对应typeid的数据表dt2
}
catch
{ }
if (dt2.Rows.Count > 0)
{
for(int i=0;i<dt2.Rows.Count;i++)
{
str+=dt2.Rows[i]["title"].ToString();
str+="<br>";
}
}
}
return str;
}
在Page_Load事件中有接收kindId参数的:
//从传到该页面的请求对象的参数集合中获取kindId
int kindId = 0;
string str = "";
try
{
kindId = Int32.Parse(Request["typeid"]);
}
catch
{
kindId = 0;
}
retrunTitle(kindId.ToString());
前台aspx的代码为(表格中嵌套了一句代码):
<table width="270" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="270" height="20" colspan="2"><%# retrunTitle(DataBinder.Eval(Container.DataItem,"title")) %></td>
</tr>
</table>错误提示:
最匹配的重载方法具有一些无效参数
参数都是string的,为什么说参数无效呢?大虾帮小弟看看,小弟被这个功能的实现拖的累死了……
页面接收传入的一级栏目的kindID来调用它的二级栏目DataList1一行两列的循环显示kindName(kindID)已经实现,而每个循环栏目对应的新闻列表需要根据DataList1获取的kindID来读取tb_article表中的新闻(tb_article中typeID为nvarchar型比如值为 |34|35|,表示该条记录是属于新闻播报栏目下时事新闻)以列表形式显示在对应的栏目下如:
新闻播报(35) 时事新闻(36)
1.** 1.**
2.** 2.**
一行两列的循环,新闻播报下面的1,2记录根据35从tb_article表中筛选typeID like '%35%' 得到!昨天发贴想父DataList嵌套子DataList来实现的,可是小弟没有做出,这次换个方法:写了一个方法str得到对应栏目下的title的集合并且之间用<br>隔开来实现每个栏目下面新闻列表显示的效果代码如下:
后台cs中代码为:
public string retrunTitle(string kindId)
{
//第一步获得 dt2
string TypeId = "";
string str = "";
DataTable dt = new DataTable();
try
{
dt = Info_Get_News(Convert.ToInt32(kindId));
}
catch
{ } //根据接收过来的typeid从tb_newskind表调用Info_Get_News方法获得对应typeid的二级栏目的kindID和kindName的数据表dt
for (int m = 0; m < dt.Rows.Count; m++)
{
TypeId = dt.Rows[m]["kindID"].ToString();
TypeId = "|" + TypeId + "|";
DataTable dt2 = new DataTable();
try
{
dt2 = Info_Get_DataList(TypeId); //调用Info_Get_DataList方法得到tb_article表中对应typeid的数据表dt2
}
catch
{ }
if (dt2.Rows.Count > 0)
{
for(int i=0;i<dt2.Rows.Count;i++)
{
str+=dt2.Rows[i]["title"].ToString();
str+="<br>";
}
}
}
return str;
}
在Page_Load事件中有接收kindId参数的:
//从传到该页面的请求对象的参数集合中获取kindId
int kindId = 0;
string str = "";
try
{
kindId = Int32.Parse(Request["typeid"]);
}
catch
{
kindId = 0;
}
retrunTitle(kindId.ToString());
前台aspx的代码为(表格中嵌套了一句代码):
<table width="270" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="270" height="20" colspan="2"><%# retrunTitle(DataBinder.Eval(Container.DataItem,"title")) %></td>
</tr>
</table>错误提示:
最匹配的重载方法具有一些无效参数
参数都是string的,为什么说参数无效呢?大虾帮小弟看看,小弟被这个功能的实现拖的累死了……
解决方案 »
- C#拷贝数据库
- 能不能通过运行一次a程序的快捷方式启动a和b2个程序?
- 求一个DBhelp类。好长时间不做项目了。
- WWF的问题,
- datalist里的DataKeyField问题
- C#正则表达式
- SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间。
- 小弟请教关于C#通信方面的知识???
- c# 中处理二进制大文件速度慢的问题
- 在数据库中有一个库比如 aa aa中有数据表,如何删除整个aa库 在线等 解决马上给分
- datagrid双击问题
- 请问ERP中装想单、出货文档及送货单的格式或主要包括哪些内容,他们有何区别?
--》
Convert.ToString(DataBinder.Eval(Container.DataItem,"title"))