我一直在试图用txt文件填充使用Bootstrap for ASP制作的表格,但似乎我一直在坚持这样做...... 我将离开我的尝试,所以你可以看看它,也许可以帮助我。 txt文件中使用的格式如下:
AFragment
这是我尝试做的事情:
Column1Txt Column2Txt Column3Txt Column4Txt
Column1Txt Column2Txt Column3Txt Column4Txt
Column1Txt Column2Txt Column3Txt Column4Txt
Column1Txt Column2Txt Column3Txt Column4Txt
我知道它甚至不在桌子内部,但我也尝试在桌面内使用它并且它也不能正常工作。
感谢您的提前时间。
答案 0 :(得分:2)
首先,您需要读入文本文件的内容并解析数据。看看样本,我会假设以空格分隔,但你必须自己决定。有无数种方法可以做到这一点。这是一个:
类或结构或保持数据:
public class ColumnData()
{
public string Column1 { get; set; }
public string Column2 { get; set; }
public string Column3 { get; set; }
public string Column4 { get; set; }
}
解析逻辑:
string rawText = System.IO.File.ReadAllText("Full path to file");
string[] rows = rawText.Split(System.Environment.NewLine);
List<ColumnData> data = rows
.Select(rowText => rowText.Split(" "))
.Select(rowArray => new ColumnData
{
Column1 = rowArray[0],
Column2 = rowArray[1],
Column3 = rowArray[2],
Column4 = rowArray[3]
})
.ToList();
然后,一旦您以可用格式获得数据,就可以创建适当的HTML。你可以通过GridView,Repeater,甚至只是一些字符串操作来手动构建HTML。如果您选择最后一个选项,则需要以某种方式将其添加到页面中,例如添加Literal控件并使用手动构建的字符串填充它。
以下是使用手动构建HTML字符串的示例:
标记中的文字控制:
<table class="table table-striped">
<!-- table head -->
<thead>
<tr>
<th>#</th>
<th>Column1</th>
<th>Column2</th>
<th>Column3</th>
<th>Column4</th>
</tr>
</thead>
<tbody>
<asp:Literal id="columnData" runat="server"/>
</tbody>
</table>
构建字符串的代码(使用解析逻辑中的data
):
string rowFormat = "<tr><td></td><td>{0}</td><td>{1}</td><td>{2}</td><td>{3}</td></tr>";
string[] rowStrings = data
.Select(row => string.Format(rowFormat, row.Column1, row.Column2, row.Column3, row.Column4))
.ToArray();
string html = string.Join(System.Environment.NewLine, rowStrings);
// Populate literal control
columnData.Value = html;
修改:免责声明:这只是概念验证类型代码。请注意,它有没有错误处理。我根本不知道我会用它;这只是为了向您展示一般的想法。