小弟初学.Net,自己在做BBS中遇到的问题,BBS可以上传附件,文件名保存在数据库中,
每条记录可能有附件,也可能没有附件;
附件可能是图片,也可能不是图片;要求是如果没有附件,BBS的附件栏不显示东西;
如果有附件,而且是图片,就用<img src=附件>显示出来;
如果有附件,而不是图片,就用<a href=附件>附件</a>的方式让用户下载。我用DataList实现,代码如下:
<asp:datalist id="messshow" runat="server" Width="760px">
<HeaderTemplate>
<table border="1" cellpadding="0" cellspacing="0" width="100%">
</HeaderTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
<ItemTemplate>
<tr>
<TD><%#  %></TD><TD valign="top">
<%# System.Convert.ToString(DataBinder.Eval(Container.DataItem,"filePath")) %>
</TD>
</tr>
</ItemTemplate>
<SeparatorTemplate>
</SeparatorTemplate>
</asp:datalist>请教:
问题1:在第一个TD里 想放置一个序号,从1 开始应该怎么做呢?
问题2:实现附件的要求。谢谢大家了。

解决方案 »

  1.   

    <TD><%# ItemIndex+1 %></TD>
      

  2.   

    问题2:实现附件的要求在后台写一个函数 Show_FJ(参数,参数) 来处理字符串:用img src还是a href....?然后用这个显示:
    <TD valign="top">
    <%# Show_FJ(System.Convert.ToString(DataBinder.Eval(Container.DataItem,"filePath"))) %>
    </TD>
      

  3.   

    是:<TD><%# Container.ItemIndex+1 %></TD>
    不过还是谢谢xiahouwen(武眉博<活靶子.NET>) ,但是关键的附件问题还要请教。
      

  4.   

    最好办法,检查 MimeType
    if (MyPostedFile.ContentType.ToString().ToLower().IndexOf("image") < 0) 

    // 是一般附件

    else
    {
           // 是图片附件
    }
      

  5.   

    To:i169net1(阿康)
    谢谢,没有想到在DATALIST中也能用函数,呵呵,谢谢。
    以前有人跟我说过可以用DATALIST的自定义模板来解决这个问题,但没有仔细说,不知道你知道不?
      

  6.   

    DATALIST的自定义模板,抱歉,我也不是很清楚~但如果要实现功能的话,也无非是加些语句,至于加在哪里,是用函数,还是直接在模板中定义,都是一样的啦...