- PR -

ASP.NETで複数フォルダ内にあるファイル名を表示したいです

1
投稿者投稿内容
みかん
常連さん
会議室デビュー日: 2003/12/13
投稿数: 42
投稿日時: 2006-11-21 22:01
下記ページで特定のフォルダ内にあるファイル名を表示する事は出来たのですが
もう1つ別の表を作って別のフォルダ内にあるファイル名も
表示させたいのですがどのようにしたらよろしいのでしょうか。

http://www.atmarkit.co.jp/fdotnet/aspnet/aspnet11/aspnet11_01.html

どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2006-11-22 01:15
DataGridやそこで使うための関数を同じ内容でちょっとだけ名前変えてもうひとつづつつくったらどうですか?
みかん
常連さん
会議室デビュー日: 2003/12/13
投稿数: 42
投稿日時: 2006-11-23 22:58
ご回答ありがとうございます。
別フォルダ内のファイル表示ができました。
ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2006-11-24 01:35
>ちょっとだけ名前変えてもうひとつづつつくったらどうですか?

どっとねっとふぁんさんは分かった上で端折ってらっしゃるんだと思いますけど、
サブルーチンにしちゃった方が拡張性高いですよ。
こんなかんじで。

コード:

<%@ Page Language="C#" %>
<script runat="server">
    protected void Page_Load(object sender, EventArgs e)
    {
        BindGrid(@"C:\Temp", GridView1);
        BindGrid(@"D:\Temp", GridView2);
    }
    private void BindGrid(string directoryPath, GridView gv)
    {
        System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(directoryPath);
        System.IO.FileInfo[] fi = di.GetFiles();
        System.Data.DataTable dt = new System.Data.DataTable();
        dt.Columns.Add("名前", typeof(string));
        dt.Columns.Add("サイズ", typeof(long));
        dt.Columns.Add("更新日時", typeof(DateTime));
        for (int i = 0; i < fi.Length; i++)
        {
            dt.Rows.Add(fi[i].Name, fi[i].Length, fi[i].LastWriteTime);
        }
        gv.DataSource = dt;
        gv.DataBind();
    }
</script>
<html>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1" runat="server"></asp:GridView><br />
        <asp:GridView ID="GridView2" runat="server"></asp:GridView>
    </div>
    </form>
</body>
</html>

1

スキルアップ/キャリアアップ(JOB@IT)