如何在文本框中搜索和显示文件名,并通过选择它来打开文件?

时间:2016-12-22 12:41:22

标签: c# asp.net

我在文件夹中搜索文件并在文本框中显示文件名但现在出现问题。我想通过从文本框中选择它来打开一个特定的文件。我怎样才能做到这一点?这是我到目前为止所尝试的。

<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <script type="text/javascript" src="Reports/PageLoad.js"></script>
    <title></title>
    <link href="Styles/Site.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <form id="form1" runat="server">
     <div>
         <telerik:RadScriptManager ID="RadScriptManager1" runat="server" />
            <div style="width: 100%; height: 100%; margin-top: 12px;">
                <asp:HiddenField ID="hdoperatorid" runat="server" />
                <asp:HiddenField ID="hdbankid" runat="server" />
                <asp:HiddenField ID="hdCountry" runat="server" />
                <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; height: 100%;"
                    id="mainContent">
                    <tr>
                        <td valign="top" style="width: 70%;" class="BorderFrame">
                            <table style="width: 100%; border: 2px solid; border-radius: 5px; border-color: #005cb9;" cellpadding="0" cellspacing="0">
                                <tr>
                                    <td class="HeadingText" colspan="4">
                                        <asp:Label ID="Label12" runat="server"
                                            Text="File Logs"></asp:Label>
                                    </td>
                                </tr>
                                <tr>
                                    <td colspan="4">
                                        <table style="width: 100%; border: 2px solid; border-radius: 5px; border-color: #005cb9;" cellpadding="0" cellspacing="0">


                                            <tr>
                                                <td colspan="4" class="HeadingText">
                                                    <asp:Label ID="Label16" Width="100%" runat="server" Text="Enter Details"> </asp:Label>
                                                </td>
                                            </tr>
                                            <tr>
                                <td class="label">
                                    <asp:Label ID="lblCountry" runat="server" Text="Select Country" Width="200px" CssClass="LableText"></asp:Label>
                                </td>
                                <td>
                                    <asp:DropDownList id="ddlCountry" runat="server" AutoPostBack="True"  Width="200px">
                                     </asp:DropDownList>
                                </td>
                                 </tr>
                                            <tr>
                                <td class="label">
                                    <asp:Label ID="lblLogType" runat="server" Text="Select Log Type" Width="200px" CssClass="LableText"></asp:Label>
                                </td>
                                <td>
                                    <asp:DropDownList id="ddlLogType" runat="server" AutoPostBack="True"  Width="200px">
                                     </asp:DropDownList>
                                    <%--<asp:DropDownList id="ddlLogType" runat="server"  Width="200px">
                                        <asp:ListItem>ElmaCore</asp:ListItem>
                                       <asp:ListItem>ElmaCore</asp:ListItem>
                                     </asp:DropDownList>--%>
                                </td>
                                 </tr>
                                 <tr>
                                <td class="label">
                                    <asp:Label ID="lblDate" runat="server" Text="Date" Width="200px" CssClass="LableText"></asp:Label>
                                </td>
                                <td>
                                    <telerik:RadDatePicker ID="dtDate"  Width="200px" runat="server">
                                        <Calendar ID="Calendar1" runat="server" UseColumnHeadersAsSelectors="False" UseRowHeadersAsSelectors="False"
                                            ViewSelectorText="x">
                                        </Calendar>
                                        <DateInput ID="DateInput1" runat="server" DateFormat="dd/MMM/yyyy" DisplayDateFormat="dd/MMM/yyyy">
                                        </DateInput>
                                    </telerik:RadDatePicker>
                                </td>
                                 </tr>
                                <tr>
                                <td class="label">
                                    <asp:Label ID="lblReference" runat="server" Text="Reference" Width="200px" CssClass="LableText"></asp:Label>
                                </td>
                                <td class="txtbox">
                                   <asp:TextBox ID="txtReference" ReadOnly="false" Width="200px" runat="server" CssClass="textboxbook"></asp:TextBox>

                                </td>
                                 </tr>


                                        </table>
                                    </td>

                                </tr>
                                <tr>
                                    <td colspan="4">
                                        <asp:Label ID="lblMessageLine" Width="100%" Height="20px" runat="server" CssClass="BottomDisplayMsg" />
                                    </td>
                                </tr>

                               <tr>
                                    <td colspan="4" class="HeadingText">
                                        <asp:Label ID="Label7" runat="server" Text="File Contents"></asp:Label>
                                    </td>
                                </tr>
                                <tr>
                                    <td colspan="4">
                                        <asp:TextBox id="txtContents" runat="server"  Width="1200px" CssClass="textboxbook" TextMode="MultiLine" Height="300" />
                                        <%--<telerik:RadGrid ID="grdContents" runat="server" Height="180px" AutoGenerateColumns="true"
                                            GridLines="None">
                                            <ClientSettings EnablePostBackOnRowClick="true">
                                                <Selecting AllowRowSelect="true" />
                                                <Scrolling AllowScroll="True" UseStaticHeaders="true" />
                                            </ClientSettings>
                                            <%--<MasterTableView DataKeyNames="Country,BankID,FirstName,MiddleName,LastName,Mobile,Email,Address,City,Account,Title,IDNO">
                                                <Columns>
                                                    <telerik:GridBoundColumn DataField="Country" HeaderText="Country" UniqueName="Country" DefaultInsertValue="">
                                                    </telerik:GridBoundColumn>
                                                    <telerik:GridBoundColumn DataField="BankID" HeaderText="BankID" UniqueName="BankID" DefaultInsertValue="">
                                                    </telerik:GridBoundColumn>
                                                    <telerik:GridBoundColumn DataField="FirstName" HeaderText="FirstName" UniqueName="FirstName" DefaultInsertValue="">
                                                    </telerik:GridBoundColumn>
                                                    <telerik:GridBoundColumn DataField="MiddleName" HeaderText="MiddleName" UniqueName="MiddleName" DefaultInsertValue="">
                                                    </telerik:GridBoundColumn>
                                                    <telerik:GridBoundColumn DataField="LastName" HeaderText="LastName" UniqueName="LastName" DefaultInsertValue="">
                                                    </telerik:GridBoundColumn>
                                                    <telerik:GridBoundColumn DataField="Mobile" HeaderText="Mobile" UniqueName="Mobile" DefaultInsertValue="">
                                                    </telerik:GridBoundColumn>
                                                    <telerik:GridBoundColumn DataField="Email" HeaderText="Email" UniqueName="Email" DefaultInsertValue="">
                                                    </telerik:GridBoundColumn>
                                                    <telerik:GridBoundColumn DataField="Address" HeaderText="Address" UniqueName="Address" DefaultInsertValue="">
                                                    </telerik:GridBoundColumn>
                                                    <telerik:GridBoundColumn DataField="City" HeaderText="City" UniqueName="City" DefaultInsertValue="">
                                                    </telerik:GridBoundColumn>
                                                    <telerik:GridBoundColumn DataField="Account" HeaderText="Account" UniqueName="Account" DefaultInsertValue="">
                                                    </telerik:GridBoundColumn>
                                                    <telerik:GridBoundColumn DataField="Title" HeaderText="Title" UniqueName="Title" DefaultInsertValue="">
                                                    </telerik:GridBoundColumn>
                                                    <telerik:GridBoundColumn DataField="IDNO" HeaderText="IDNO" UniqueName="IDNO" DefaultInsertValue="">
                                                    </telerik:GridBoundColumn>
                                                </Columns>
                                            </MasterTableView>-%>
                                        </telerik:RadGrid>--%>
                                    </td>
                                </tr>
                            </table>
                        </td>
                        <td style="width: 10%;" align="center" valign="bottom" class="BorderFrame">
                            <table style="width: 100%;">
                                <tr>
                                   <td style="text-align: right">
                                                <asp:Button ID="cmdAdd" Width="100px"  runat="server" Text="Submit" CssClass="button"
                                                    OnClick="cmdAdd_Click" />
                                            </td>
                                    </tr>
                                <%--<tr>
                                   <td style="text-align: right">
                                                <asp:Button ID="cmdSend" Width="100px"  runat="server" Text="Send" CssClass="button"
                                                    OnClick="cmdSend_Click" />
                                            </td>
                                    </tr>--%>
                                     <tr>
                                            <td style="text-align: right">
                                                <asp:Button ID="btnClear" Width="100px"   runat="server" Text="Clear" CssClass="button"
                                                    OnClick="btnClear_Click" />
                                            </td>
                                       </tr>
                                        <tr>


                                            <td style="text-align: right">
                                                <asp:Button ID="btnCancel" Width="100px"  runat="server" Text="Cancel" CssClass="button"
                                                     OnClick="btnCancel_Click" />
                                            </td>
                                </tr>
                            </table>
                        </td>
                    </tr>
                </table>
            </div>
    </div>
    </form>
</body>
</html>

c#代码: -

 private void ProcessFile(string filename, string filePath)
    {
        try
        {
            DataRow dr;

            string line;

            string content = "";

            dr = tblFileContent.NewRow();

            // Read the file and display it line by line.
            //using (StreamReader file = new StreamReader(@"C:\Upload.txt"))
            using (StreamReader file = new StreamReader(filePath))
            {
                /*while ((line = file.ReadLine()) != null)
                {
                    content = line + "\n";

                }*/

                txtContents.Text += filename+"\n";


                file.Close();
            }



        }
}

1 个答案:

答案 0 :(得分:1)

从您当前的代码段中,您可以打开如下文件: -

string strfullPath = System.IO.Path.Combine(filepath, filename);
using (StreamReader steamReader = new StreamReader(strfullPath))
{
    string content = steamReader.ReadToEnd();
}

<强> UPDATE1

如果你想用记事本打开它,你需要 System.Diagnostics.Process.Start()

像:

Process.Start("notepad.exe", strfullPath);

如果您想使用自己的编辑器打开而不是:

Process.Start(strfullPath);

有些如此: -

//Process.Start(@"c:\myfile.txt");

<强> UPDATE2

如果文件位于远程服务器,则需要在共享文件夹上进行身份验证,然后才能访问文件。对于远程服务器,这Link是值得的。