我从网上下一个BBS系统,这是首要调用的一个display函数,从数据库中的表中读取出论坛版块的相关信息。可是我不明白为什么要这么复杂(我指的事if else 部分),其中 dr 是Datareader对象,里面是数据库中表的信息,Beg是论坛的编号,一个论坛可以分为几个小论坛,可以这样表示(Beg,End),如(4,1)第四个论坛的第一个小论坛。
public void Display()
{
int Beg;
int End;
int n=0;
String TopicName;
String TopicDes;
String Flag;
String Toastmaster;
String ReplyTotal;
String TopicTotal;
String des;
while(dr.Read())
{
Beg=(int)dr["Beg"];
End=(int)dr["End"];
TopicName=dr["TopicName"].ToString();
TopicDes=dr["TopicDes"].ToString();
Flag=dr["Flag"].ToString();
Toastmaster=dr["Toastmaster"].ToString();
ReplyTotal=dr["ReplyTotal"].ToString();
des=dr["des"].ToString();
TopicTotal=dr["TopicTotal"].ToString();
                //Beg = 0;
                    Response.Write("<tr  class=tablemaiStopTime><td width='8%' align=center class=tablemaiStartTime><img src='"+Flag+"'></td><td colspan=2>");
Response.Write("<table width='90%' border='1' align='center' cellpadding='0' cellspacing='0'  class=font><tr>");
Response.Write("<td width='70%'>");
Response.Write("<a href='Thread.aspx?Beg="+Beg.ToString()+"&End="+End.ToString()+"&page=1"+"'>★<b>"+TopicDes+"</b>★</a><br>"+"&nbsp;&nbsp;"+des);
Response.Write("</td>");
Response.Write("<td width='30%'>");
Response.Write("版主:"+Toastmaster+"<br>");
Response.Write("主题:"+TopicTotal+"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
Response.Write("回复:"+ReplyTotal+"<br>");
Response.Write("</td>");
Response.Write("</tr></table>");
Response.Write("</td></tr>");  
/*
                if (n==Beg)
                {
                   
Response.Write("<tr  class=tablemaiStopTime><td width='8%' align=center class=tablemaiStartTime><img src='"+Flag+"'></td><td colspan=2>");
Response.Write("<table width='90%' border='1' align='center' cellpadding='0' cellspacing='0'  class=font><tr>");
Response.Write("<td width='70%'>");
Response.Write("<a href='Thread.aspx?Beg="+Beg.ToString()+"&End="+End.ToString()+"&page=1"+"'>★<b>"+TopicDes+"</b>★</a><br>"+"&nbsp;&nbsp;"+des);
Response.Write("</td>");
Response.Write("<td width='30%'>");
Response.Write("版主:"+Toastmaster+"<br>");
Response.Write("主题:"+TopicTotal+"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
Response.Write("回复:"+ReplyTotal+"<br>");
Response.Write("</td>");
Response.Write("</tr></table>");
Response.Write("</td></tr>");  
}

              else 
{
Response.Write("<tr><td colspan=3 class=tablemaiTimeSp height=10><b>"+"&nbsp;&nbsp;"+TopicName+"</b></td></tr>");
    Response.Write("<tr class=tablemaiStopTime><td width='8%' class=tablemaiStartTime align=center><img src='"+Flag+"'></td><td colspan=2>");
    Response.Write("<table width='90%' border='1' align='center' cellpadding='0' cellspacing='1'  class=font><tr>");
    Response.Write("<td width='70%'>");
    Response.Write("<a href='Thread.aspx?Beg="+Beg.ToString()+"&End="+End.ToString()+"&page=1"+"'>★<b>"+TopicDes+" </b>★</a><br>"+"&nbsp;&nbsp;"+des);
    Response.Write("</td>");
    Response.Write("<td width='30%'>");
    Response.Write("版主:"+Toastmaster+"<br>");
    Response.Write("主题:"+TopicTotal+"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
    Response.Write("回复:"+ReplyTotal+"<br>");
    Response.Write("</td>");
    Response.Write("</tr></table>");
    Response.Write("</td></tr>");
    n=Beg;           
} */
                
}
           
dr.Close();
StopTime= DateTime.Now;
TimeSp=StopTime-StartTime;
MyConn.Close();
}
我觉得if else部分完全可以用以下代码代替,
 Response.Write("<tr  class=tablemaiStopTime><td width='8%' align=center class=tablemaiStartTime><img src='"+Flag+"'></td><td colspan=2>");
Response.Write("<table width='90%' border='1' align='center' cellpadding='0' cellspacing='0'  class=font><tr>");
Response.Write("<td width='70%'>");
Response.Write("<a href='Thread.aspx?Beg="+Beg.ToString()+"&End="+End.ToString()+"&page=1"+"'>★<b>"+TopicDes+"</b>★</a><br>"+"&nbsp;&nbsp;"+des);
Response.Write("</td>");
Response.Write("<td width='30%'>");
Response.Write("版主:"+Toastmaster+"<br>");
Response.Write("主题:"+TopicTotal+"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
Response.Write("回复:"+ReplyTotal+"<br>");
Response.Write("</td>");
Response.Write("</tr></table>");
Response.Write("</td></tr>");  
并且我运行的结果都一样。可是为什么要写一个IF ELSE 语句呢?谢谢了!

解决方案 »

  1.   

    最讨厌这种写法,在后台拼一堆html,还不如用asp写
      

  2.   

    看晕了~~可能是为了达到导航效果大论坛>子论坛>子子论坛
      

  3.   

    我觉得最好是在HTML中嵌入CODE
    这样可读性很好,而且性能上应该也差不多
      

  4.   

    ajax 用多了, 也会写一大堆的html的~
      

  5.   

    我不知道那个注释符号是谁加的!!/*
    if (n==Beg)
    {Response.Write("<tr class=tablemaiStopTime><td width='8%' align=center class=tablemaiStartTime><img src='"+Flag+"'></td><td colspan=2>");
    Response.Write("<table width='90%' border='1' align='center' cellpadding='0' cellspacing='0' class=font><tr>");
    Response.Write("<td width='70%'>");
    Response.Write("<a href='Thread.aspx?Beg="+Beg.ToString()+"&End="+End.ToString()+"&page=1"+"'>★<b>"+TopicDes+"</b>★</a><br>"+"&nbsp;&nbsp;"+des);
    Response.Write("</td>");
    Response.Write("<td width='30%'>");
    Response.Write("版主:"+Toastmaster+"<br>");
    Response.Write("主题:"+TopicTotal+"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
    Response.Write("回复:"+ReplyTotal+"<br>");
    Response.Write("</td>");
    Response.Write("</tr></table>");
    Response.Write("</td></tr>"); 
    }else 
    {
    Response.Write("<tr><td colspan=3 class=tablemaiTimeSp height=10><b>"+"&nbsp;&nbsp;"+TopicName+"</b></td></tr>");
    Response.Write("<tr class=tablemaiStopTime><td width='8%' class=tablemaiStartTime align=center><img src='"+Flag+"'></td><td colspan=2>");
    Response.Write("<table width='90%' border='1' align='center' cellpadding='0' cellspacing='1' class=font><tr>");
    Response.Write("<td width='70%'>");
    Response.Write("<a href='Thread.aspx?Beg="+Beg.ToString()+"&End="+End.ToString()+"&page=1"+"'>★<b>"+TopicDes+" </b>★</a><br>"+"&nbsp;&nbsp;"+des);
    Response.Write("</td>");
    Response.Write("<td width='30%'>");
    Response.Write("版主:"+Toastmaster+"<br>");
    Response.Write("主题:"+TopicTotal+"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
    Response.Write("回复:"+ReplyTotal+"<br>");
    Response.Write("</td>");
    Response.Write("</tr></table>");
    Response.Write("</td></tr>");
    n=Beg; 
    */