比如首页中有4个栏目:A,B,C,D分别下面有各自的新闻
我想在后台控制前台,添加一个E栏目出来,E栏目下也能添加自己的新闻信息等等
当然不能破坏网页格式了,请问该怎么实现?或者有具体的代码更好,油巷:[email protected]
另行追加100分!

解决方案 »

  1.   

    我也想啊,做控件什么的都不是难题,难就难在怎么样自动的添加到那个位置上啊?
    网页肯定是我用table来定位的啊,2行2列的table,现在table里有4个栏目了,我该怎么让这个新添加的栏目放到3行1列上?再添加一个就自动放到3行2列上?等等还希望高手赐教啊!
      

  2.   

    一个房型一个tabale 然后房间一个td
      

  3.   

    楼上说的是已经定制好有多少数据了吧?
    我要的是N行2列的table,动态添加栏目,添加多少不限制,就按照N行2列的样子一直排下去,我从后台添加,然后插到数据库,前台再读数据,然后把我添加的栏目显示出来,就是动态添加,不知道该怎么就能添加上去啊~~~请教啊!
    看下楼主代码,希望有启发,问题解决再追加100分
      

  4.   

        <td valign="top">   
                       
            <table border="0" cellpadding="0" cellspacing="0" >            
                <tr>
                    <td  valign="top"  align="center">                   
                       <asp:UpdatePanel ID="up" runat="server">
                           <ContentTemplate>
                              <asp:Label ID="Label1" runat="server"></asp:Label>                         
                           </ContentTemplate>         
                           <Triggers>
                               <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
                           </Triggers>
                       </asp:UpdatePanel>
                    </td>
                </tr>
            </table>
            <asp:Timer ID="Timer1" runat="server" Interval="6000000" OnTick="Timer1_Tick1">
            </asp:Timer>
         
        </td>
      

  5.   

       #region MyRegion
        private StringBuilder CreateTable()
        {  
           
            int HotelID = int.Parse(Session["HotelID"].ToString());
             DFB.HotelMember.HotelRoom room = new DFB.HotelMember.HotelRoom();
             DataTable dtTypeCount = room.SelectHotelRoomCount(HotelID);
            StringBuilder sb = new StringBuilder();
            sb.Append("<table width='624' border='0' cellspacing='0' cellpadding='0'>");
            sb.Append("<tr><td height='30' background='images/hotel_top.gif' align='left'><table width='124' height='22' border='0' cellpadding='0' cellspacing='0' class='left_10px' id='__01'>");
            sb.Append("<tr><td><img src='images/hotel_top_01.gif' width='23' height='22'/></td><td width='78' height='22' background='images/hotel_top_02.gif' style='color:White'>房 态</td>");
            sb.Append("<td><img src='images/hotel_top_04.gif' width='23' height='22'/></td></tr></table></td></tr>");
            sb.Append("<td class='border_hong'>");
            for (int roomType = 0; roomType < dtTypeCount.Rows.Count; roomType++)    //房型数量
            {
                #region
                //通过房型编号查询今日的此房型的订房数量
                DFB.HotelMember.OrderDetailDo order = new DFB.HotelMember.OrderDetailDo();
                DataTable OrderCount = order.SelectOrderStateIsDestine(Convert.ToInt32(dtTypeCount.Rows[roomType]["RoomTypeId"])); //房型状态和订单数量 
                int SumRooms = Convert.ToInt32(dtTypeCount.Rows[roomType][2]);
                int OrderRooms = 0;
                for (int i = 0; i < OrderCount.Rows.Count; i++)
                {
                    OrderRooms += Convert.ToInt32(OrderCount.Rows[i][1]);
                }
                sb.Append("<table width='600' border='1' align='center' cellpadding='0' cellspacing='0' bordercolorlight='#BFBFBF' bordercolordark='#FFFFFF' class='font_fan'>");
                sb.Append("<tr><td colspan='10' bgcolor='#F2F2F2' class='font_fan_1'>" + dtTypeCount.Rows[roomType][1].ToString() + "<span style='margin-right=10px'>(共:" + dtTypeCount.Rows[roomType][2].ToString() + "间&nbsp;&nbsp;已订:" + OrderRooms + "间)</span></td></tr>");
                sb.Append("<height='34'>");
                if (OrderCount.Rows.Count > 0)
                {
                    for (int row = 0; row < OrderCount.Rows.Count; row++)
                    {
                        int status = Convert.ToInt32(OrderCount.Rows[row]["OrderState"]);
                        int Cells = Convert.ToInt32(OrderCount.Rows[row][1]);
                        switch (status)
                        {
                            case 1:
                                AppendHtmlCode("red", sb, Cells, status);
                                break;
                            case 2:
                                AppendHtmlCode("blue", sb, Cells, status);
                                break;
                            case 3:
                                AppendHtmlCode("yellow", sb, Cells, status);
                                break;
                            case 4:
                                AppendHtmlCode("black", sb, Cells, status);
                                break;
                            case 5:
                                AppendHtmlCode("green", sb, Cells, status);
                                break;
                            case 6:
                                AppendHtmlCode("gray", sb, Cells, status);
                                break;
                            case 7:
                                AppendHtmlCode("olive", sb, Cells, status);
                                break;
                            case 8:
                                AppendHtmlCode("aqua", sb, Cells, status);
                                break;
                            case 9:
                                AppendHtmlCode("lime", sb, Cells, status);
                                break;
                            case 10:
                                AppendHtmlCode("navy", sb, Cells, status);
                                break;
                        }
                    }
                }
                #endregion
                
                for (int cell = 0; cell < SumRooms - OrderRooms; cell++)
                {
                    sb.Append("<td width='60'><img src='images/zhou.gif' /></td>");
                    count++;
                    if (count % 10 == 0)
                    {
                        sb.Append("</tr><tr height='34'>");
                    }
                }
                count = 0;
            }
            sb.Append("</table></td></tr></table>");
            
            return sb;
        }
        #endregion    public void AppendHtmlCode(string color, StringBuilder sb,int Cells,int status)
        {
            for (int i = 0; i < Cells; i++)
            {
                sb.Append("<td width='60'><img src='images/man.gif' /></td>");
                count++;
                if (count % 10 == 0)
                {
                    sb.Append("</tr><tr height='34'>");
                }
            }        
        }
        public void WriteScript(string sb)
        {
            Label1.Text = sb.ToString();        #region MyRegion
             //ClientScriptManager clientJS = Page.ClientScript;        //StringBuilder cstext2 = new StringBuilder();    
            //if (!clientJS.IsClientScriptBlockRegistered(this.GetType(), "BlockClickScript"))
            //{                
            //    cstext2.Append("<script type=text/javascript> function DoClick() {");
            //    cstext2.Append("document.getElementById('up').innerHTML='" + sb + "'}");
            //    cstext2.Append("</script>");
            //    clientJS.RegisterClientScriptBlock(this.GetType(), "BlockClickScript", cstext2.ToString(), false);
            //}     
            #endregion       
        }
        protected void Timer1_Tick1(object sender, EventArgs e)
        {
            StringBuilder sb = CreateTable();
            Label1.Text=sb.ToString();
        }
      

  6.   

    你先不要在页面上固定table,你在后台控制table的大小,你从数据库读出来的栏目在循环放在这个table里,然后在显示在页面上
    如 :定义一个public的字符串str=""
    str="<table>"
    for(int i=0; i<dt.rows.count;i++)//dt是一个datatable你读的数据
    {
    str+="<tr><td>"+dt.rows[i]["数据字段"].ToString()+"</td><tr>"
    }
    str+="</table>"
    //具体样式你自己控制
    在前台页面上就用<%=str%>把table放在想方的位置
    //这是一个笨办法,希望能给你一些帮助
      

  7.   

    www.ebookit.cn这个网页就是动态添加栏目的,先看着,不懂联系站长!