![](/img/trans.png)
[英]ASP.NET TextBox - is it possible to initialize text attribute with in line code <% %>
[英]How can I output text file's content line by line to a TextBox on ASP.NET?
我正在 ASP.net 中構建一個網站,在這種情況下,我只是嘗試讀取 .txt 文件並將其輸出到該頁面加載時的文本框中。 我寫了這段代碼,所以我可以執行我的想法:
protected void Page_Load(object sender, EventArgs e)
{
foreach (string line in System.IO.File.ReadLines(@"file_path"))
{
TextBox1.Text = line;
}
}
但是,這不起作用,因為當我在此頁面上執行網站時,沒有加載任何內容。 沒有被調用的異常或任何錯誤。 我能做什么? 如果您需要更多詳細信息或信息,請不要吝嗇詢問。
編輯:我認為重要的是說我已經測試過
TextBox1.Text = "Hello World";
這工作正常。
好吧,要閱讀文本,這是有效的:
string sFile = @"C:\TEST2\T.txt";
string sTextData = File.ReadAllText(sFile);
TextBox1.Text = sTextData;
如果出於某種原因,您遺漏了一些巨大的大量細節,比如您只想要文件中的第一行文本?
然后這個:
string sFile = @"C:\TEST2\T.txt";
string sTextData = File.ReadAllText(sFile);
string strFirstLine = sTextData.Split(System.Environment.NewLine.ToCharArray())[0];
TextBox1.Text = strFirstLine;
供參考:
如果您需要/想要在該框中顯示多於一行的文本,請不要忘記將文本框設置為多行。
正如所指出的,我們可以使用這個:
File.ReadAllLines(sFile).FirstOrDefault();
但是,上面仍然讀取整個文本文件。
如果文本文件要大,而我們仍然想要第一行,或者希望逐行讀取+處理,那么這樣更好:
StreamReader sR = new StreamReader(sFile);
int i = 0;
while (!sR.EndOfStream)
{
i++;
Debug.Print(i.ToString() + "->" + sR.ReadLine());
if (i >= 1)
break;
}
sR.Close();
那么,上面會逐行讀取,如果文本文件很大,或者我們希望只從文件中拉取 + 讀取第一行? 那么當然上面的例子更好,因為從性能 + io 的角度來看,只有第一行(或如果 i 條件改變時的幾行)更好。
要讀取第一行,您可以簡單地編寫此File.ReadLines(“YourFileName”).FirstOrDefault;
您需要使用File.ReadAllText方法。 它重新運行string
值。 然后您可以分配給Text
屬性。
File.ReadLines返回Ienumerable<string>
而不是string
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.