【ASP.NET】サーバフォルダ内のすべてのファイルを取得し、ダウンロードリンクを生成する

1634 ワード

  C#  
protected string OUT()
        {
            string shtml=string.Empty;
            //       <p><a href='/Attachment/MYSQL_      .txt'>MYSQL_      .txt</a></p>
            string a = "<p><a href='/Attachment/";
            foreach (string item in Directory.GetFiles(Server.MapPath("/Attachment/"))) //          
            {
                string filename = item.Substring(item.LastIndexOf("\\") + 1); //     
                string b = filename;
                string c = "'>"+filename+"</a></p>";
                shtml += a + b + c;
            }
            return shtml;
        }

フロントHTMLコード
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="download.aspx.cs" Inherits="GCFKnowledgeBase.download" %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <div id="download" runat="server">
        <div> 
                <p><% =OUT() %></p>
        </div>
    </div>
</asp:Content>

長い間調整して、やっと調整して通じて、特にhrefフォーマットに慣れていないで、引用符を忘れて、喜びの気持ちを分かち合います.
ASPプログラムが存在するサーバの相対パスを取得することによって->そのパスの下のすべてのファイルを巡回する->ファイル名を切り取る->hrefハイパーリンクを接続する