我在文件夹中搜索文件并在文本框中显示文件名但现在出现问题。我想通过从文本框中选择它来打开一个特定的文件。我怎样才能做到这一点?这是我到目前为止所尝试的。
<%@ 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();
}
}
}
答案 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是值得的。