Return Blazor 中的字符串
Return string in Blazor
我有一个从 DataTable 创建 html table 的函数。我附上了下面的代码。现在我的问题是,如何在我的 Blazor 应用程序中将我的字符串转换为 HTML 代码?
感谢您的努力。 :)
public static string ConvertDataTableToHtml(DataTable dt)
{
string html = "<table>";
//add header row
html += "<tr>";
for (int i = 0; i < dt.Columns.Count; i++)
html += "<td>" + dt.Columns[i].ColumnName + "</td>";
html += "</tr>";
//add rows
for (int i = 0; i < dt.Rows.Count; i++)
{
html += "<tr>";
for (int j = 0; j < dt.Columns.Count; j++)
html += "<td>" + dt.Rows[i][j].ToString() + "</td>";
html += "</tr>";
}
html += "</table>";
return html;
}
不管你想做什么,停下来。这不是办法。您必须接受 Blazor 的强大功能。
它应该看起来像(我不是在测试这个,只是为了向你展示这个想法):
TableComponent.razor
<table>
<thead>
<tr>
@for (int i = 0; i < dt.Columns.Count; i++)
{
<td>@dt.Columns[i]</td>
}
</tr>
</thead>
<tbody>
//add rows
@for (int i = 0; i < dt.Rows.Count; i++)
{
<tr>
@for (int j = 0; j < dt.Columns.Count; j++)
{
<td>@dt.Rows[i][j].ToString()</td>
}
}
</tbody>
</table>
@code {
[Parameter]
DataTable dt {get; set;}
}
ParentComponentOrPage.razor
<TableComponent dt="@MyData"/>
@code
{
DataTable MyData; // Do something in override OnInitializedAsync to fill your table.
}
看看你的字符串构建代码,再看看性感甜美的 Blazor 等价物,就会知道微软在过去几年里做了计算领域最酷的事情! :D
我有一个从 DataTable 创建 html table 的函数。我附上了下面的代码。现在我的问题是,如何在我的 Blazor 应用程序中将我的字符串转换为 HTML 代码?
感谢您的努力。 :)
public static string ConvertDataTableToHtml(DataTable dt)
{
string html = "<table>";
//add header row
html += "<tr>";
for (int i = 0; i < dt.Columns.Count; i++)
html += "<td>" + dt.Columns[i].ColumnName + "</td>";
html += "</tr>";
//add rows
for (int i = 0; i < dt.Rows.Count; i++)
{
html += "<tr>";
for (int j = 0; j < dt.Columns.Count; j++)
html += "<td>" + dt.Rows[i][j].ToString() + "</td>";
html += "</tr>";
}
html += "</table>";
return html;
}
不管你想做什么,停下来。这不是办法。您必须接受 Blazor 的强大功能。
它应该看起来像(我不是在测试这个,只是为了向你展示这个想法):
TableComponent.razor
<table>
<thead>
<tr>
@for (int i = 0; i < dt.Columns.Count; i++)
{
<td>@dt.Columns[i]</td>
}
</tr>
</thead>
<tbody>
//add rows
@for (int i = 0; i < dt.Rows.Count; i++)
{
<tr>
@for (int j = 0; j < dt.Columns.Count; j++)
{
<td>@dt.Rows[i][j].ToString()</td>
}
}
</tbody>
</table>
@code {
[Parameter]
DataTable dt {get; set;}
}
ParentComponentOrPage.razor
<TableComponent dt="@MyData"/>
@code
{
DataTable MyData; // Do something in override OnInitializedAsync to fill your table.
}
看看你的字符串构建代码,再看看性感甜美的 Blazor 等价物,就会知道微软在过去几年里做了计算领域最酷的事情! :D