怎样获取指定文件名的文件路径?

解决方案 »

  1.   

    if(null!=Request["controlid"])
    {
    string strsql="select controls,controlsdir from tpl where controlid="+Request["controlid"].Trim();

    DataRow dr=con.GetDataRow(strsql);
    if(null!=dr)
    {
    StreamReader reader= new StreamReader( Server.MapPath("../"+dr["controlsdir"].ToString().Trim()+"/"+dr["controls"].ToString().Trim()),System.Text.Encoding.GetEncoding("gb2312"));
    while(reader.Peek()!=-1)
    {
    TextBox1.Text+=reader.ReadLine()+'\r'+'\n';
    }
    reader.Close();
    }
    }
      

  2.   

    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    string d = Server.MapPath("../Controls");
    DirectotyDir(d);
    }
    ------------------------------
    private void DirectotyDir(string Durl)
    {
    if(Directory.Exists(Durl))
        {
               ======================可不写=========================
                       string []Darray = Directory.GetDirectories(Durl);
               for(int i=0;i<Darray.Length;i++)
                 {
           Page.Response.Write("  Directory:" + Darray[i] + "<br>");
           DirectotyDir(Darray[i]);
                 }
                       =============================================
    string []Files = Directory.GetFiles(Durl);
    for(int i=0;i<Files.Length;i++)
      {
    Page.Response.Write(Files[i] + "<br>");
      }

    con=new EputianProducts();
    DataTable dt=new DataTable();
    DataColumn dc1=new DataColumn();
    dc1.ColumnName="controlname";
    dt.Columns.Add(dc1);
    DataColumn dc2=new DataColumn();
    dc2.ColumnName="controlid";
    dt.Columns.Add(dc2);

    for(int i=0;i<Files.Length;i++)
    {
    DataRow dr = dt.NewRow();
                            // string Files1=Files[i];  ====全路径
    string Files1=Path.GetFileName(Files[i]);===过滤路径后的文件名
    dr["controlid"] = i+1;
    dr["controlname"] = Files1;
    dt.Rows.Add(dr);
    } this.Control.DataSource=dt;
    this.Control.DataBind(); }
    }
    ------------------------html-----------------
    <asp:Repeater id="Control" runat="server">
        <ItemTemplate>
    <tr>
    <td><div align="left"><%# DataBinder.Eval(Container, "DataItem.controlid") %></div>
    </td>
    <td><div align="left"><%# DataBinder.Eval(Container, "DataItem.controlname") %></div>
    </td>
    </tr>
        </ItemTemplate>
    </asp:Repeater>