[今日头条,今日头条,今日头条,]
  导读:11111111111
[今日头条,今日头条,今日头条,]
  导读:111111111
[往期头条,往期头条,往期头条,往期头条,往期头条,]这种布局,后台怎么写? 注:只能连接一次数据库谁知道这个算法怎么写?这个布局类似CSDN首页,今日头条的布局。

解决方案 »

  1.   

    不用控件也可以
    datalist也就加了个外壳而已
    思路跟datalist一样的,只不过不用asp控件而已
      

  2.   

    有试过这样写么?<% foreach(DataRow dr in dt.rows){  %>
    <Td> [今日头条,今日头条,今日头条]</td>
    <Td>  导读:<%=dr["导读字段"]%> </td>
    <%}%>
      

  3.   

    这好像不涉及到算法。
    取决于你获取数据的方式,sql或存储过程获得一个datatable,datatable里有一列来标识每条数据的用途:
    数据1 今日头条
    数据2 今日头条
    数据3 今日头条
    数据4 导读
    数据5 今日头条
    ...获取的数据是这样的,至于你如何显示在浏览器上就根据设计的布局具体显示即可。将业务和ui分开来看
      

  4.   

    不用控件 
    直接
    <Ul>
    <% for(int i=0;i<lists.Count;i++){ %>
    <li><%=lists[i].Content %></li>
    <%}%>
    </Ul>后台lists查询所有头条 然后在上面遍历的时候 判断一下日期就行了
      

  5.   

    一样的啊, 你只连接一次数据库,但是你可以返回俩datatable啊
    一个是今日的,另外一个是往期的啊
      

  6.   


    你貌似没自己看问题就回答了  如果是这样的话我直接用DataReader就循环出来了,关键是下面还有往期头条,大哥,请看清楚再回答
      

  7.   


    <% foreach(DataRow dr in dt.rows){  %>
    <Td> [今日头条,今日头条,今日头条]</td>
    <Td>  导读:<%=dr["导读字段"]%> </td>
    <%}%>
    <% foreach(DataRow dr2 in dt2.rows){ %>
    <div style="这里设置层靠左,使得所有标签在一行">
    <A href='' ><%=dr2["往期字段"]%></A>
    <div>
    <%}%>
      

  8.   


    看来这种布局也只能用DataSet了  其实我是想知道用DataReader怎么实现,抱歉没写清楚
      

  9.   


    不过你这样貌似也是2次操作数据库  只是利用了DataSet能离线操作数据库这个功能
      

  10.   

    看来只能用字段区分这种方法了,Airch  谢谢了
      

  11.   

    假设前台ui设计如下:
    <style>
    .today{font-size:11pt;}
    .today span{display:block;padding:5px;}
    </style><div class="today">
    [今日头条 今日头条 今日头条]
    <span><a href="###">今日导读:1111111</a></span>
    </div><div class="today">
    [今日头条 今日头条 今日头条]
    <span><a href="###">今日导读:1111111</a></span>
    </div><div class="others">
    [往期头条 往期头条 往期头条]
    </div>
    //伪代码
    DataTable dt = yourBll.GetDataFromHome();
    string str_today1 = "";
    string str_dd1 = "";//导读
    string str_today2 = "";
    string str_dd2 = "";//导读
    string str_others = "";
    for(int i=0;i<dt.Rows.Count;i++)
    {
    if(dt.Rows[i]["c_type"].ToString()=="今日头条")
    {
    if(i<3)
    {
    str_today1 += "<a href='#'>"+dt.Rows[i]["c_title"].ToString()+"</a>";//前3个今日头条标题循环
    }
    else
    {
    str_today2 += "<a href='#'>"+dt.Rows[i]["c_title"].ToString()+"</a>";//后3个今日头条标题循环
    }
    }
    else if(dt.Rows[i]["c_type"].ToString()=="导读1")
    {
    str_dd1 = dt.Rows[i]["c_title"].ToString();//导读
    }
    else if(dt.Rows[i]["c_type"].ToString()=="导读2")
    {
    str_dd2 = dt.Rows[i]["c_title"].ToString();//导读
    }
    else
    {
    str_others += "<a href='#'>"+dt.Rows[i]["c_title"].ToString()+"</a>";//往期
    }
    }Response.Write("<div class=\"today\">"+str_today1+"<span><a href=\"###\">今日导读:"+str_dd1+"</a></span></div>");
    Response.Write("<div class=\"today\">"+str_today2+"<span><a href=\"###\">今日导读:"+str_dd2+"</a></span></div>");
    Response.Write("<div class=\"others\">"+str_others+"</div>");
      

  12.   

    类似与 上一条 下一条  用 union