我正在尝试读取文本文件并在文本区域中填充这些值。这里我的错误是什么
@{
var dataFile = Server.MapPath("~/Files/myFile.txt");
var ListFromFile= File.ReadAllLines(dataFile);
@Html.TextArea("name", "", ListFromFile)
}
<textarea>
@ListFromFile.ToList();
</textarea>
答案 0 :(得分:3)
您无法直接将列表设置为textarea值。因此,您需要构建merge into NEW_TABLE n
using OLD_TABLE_C c
on (/*HERE PUT JOIN CONDITION*/)
when matched then update set n.col_3_ = c.col_1;
。
您必须使用string
类在循环中将多个字符串连接在一起。
请试试这个:
StringBuilder
然后设置textarea值:
@{
var dataFile = Server.MapPath("~/Files/myFile.txt");
var ListFromFile= File.ReadAllLines(dataFile);
StringBuilder sb = new StringBuilder();
foreach (string line in ListFromFile)
{
sb.Append(line + "\n");
}
var str = new HtmlString(sb.ToString());
}
或者简单地说:
<textarea>@Html.Raw(str)</textarea>
另一种方法是使用String.Join
<textarea>@str</textarea>
答案 1 :(得分:1)
我相信这可能就是你要找的东西:
@{
var dataFile = Server.MapPath("~/Files/myFile.txt");
var ListFromFile = File.ReadAllText(dataFile);
}
@Html.TextArea("name", ListFromFile, new { cols=40, rows=5})
您似乎在原始代码中创建TextArea两次,而在Razor元素中,您按照错误的顺序指定了args。我还更改了正在使用的File方法,以便只返回字符串内容而不是列表。