读书人

前台服务器端代码,该怎么处理

发布时间: 2012-04-15 18:39:21 作者: rapoo

前台服务器端代码

C# code
            <%                 if (ds != null)                {                %>                <%                if (ds.Tables[0].Rows.Count > 0)                {                    %>                    <%                StringBuilder str = new StringBuilder();%>                    <%foreach (System.Data.DataRow row in ds.Tables[0].Rows)                      {%>                          <%str.Append("<tr>");%>                          <%for (int i = 0; i < 9; i++)                          {                              if (i%3==1&&i!=1)                              {%>                                  <%str.Append("<tr>");                              }%>                                                     str.AppendFormat(<td align="center" width="30%"><a href=Big_Picture.htm><img alt="" src="<%=ds.Tables[0].Rows[i][0].ToString()%>" border="0" /></a></td>);                                <%if (i!=0&&i % 3 == 0)                          {%>                              <%str.Append("</tr>");                          }%>                                           <%}                          return;                       }                }                }         %>


我想显示三行的图片,<%%>不太会用,<tr></tr>总是加不上,str.AppendFormat()也总是显示为字符串在页面!请问该怎么改?

[解决办法]
<%
if (ds != null)
{

if (ds.Tables[0].Rows.Count > 0)
{

StringBuilder str = new StringBuilder();
foreach (System.Data.DataRow row in ds.Tables[0].Rows)
{
str.Append("<tr>");
for (int i = 0; i < 9; i++)
{
if (i%3==1&&i!=1)
{
str.Append("<tr>");
}
str.AppendFormat(<td align="center" width="30%"><a href=Big_Picture.htm><img alt="" src="<%=ds.Tables[0].Rows[i][0].ToString()%>" border="0" /></a></td>);
<%if (i!=0&&i % 3 == 0)
{
str.Append("</tr>");


return;
}
}
}
%>

<%=str .ToString()%>

这种写法,建议在后台写方法,哪怕是拼接字符串

去掉多余的<%%>,增强可读性

注意红色部分,str.AppendFormat("<a href=\"\">aaa</a>")的形式

另外建议用label,进行赋值,除非MVC

[解决办法]
这个有点晕了,你明明是在写服务端代码,直接把它们移到cs的一个protected方法中,aspx中直接调用

读书人网 >C#

热点推荐