c# - 使用 C# 代码隐藏将表动态添加到 ASP.NET Web 应用程序

标签 c# asp.net .net web-applications

我想要一些关于我创建 ASP.NET Web 应用程序的方法的指导。

该应用程序(在 .aspx.cs 文件中)旨在查找目录中的一组文本文件。对于每个文本文件,我想使用文本文件中的信息在我的 .aspx 文件中创建/修改一个表。

到目前为止,我已经创建了带有 ID 属性的 asp:Table 控件。然后,我使用 TableRow 和 TableCell 方法在我的 .aspx.cs 文件中构建一个表,并使用 ID 属性将它们添加到表中。

这一切都进行得很顺利,而且都是硬编码的。我已经开始取消选择它并创建一个 for 循环来遍历目录以查找文本文件。然后它获取文本文件名称,我想用它来修改具有相同名称的 asp:table 控件。但是我不能对文本文件名称调用相同的表方法,因为它是一个字符串。

最后我的问题是,这是正确的方法吗?我是否在我的 .aspx 表文件中对 asp:table 控件进行硬编码,我会知道(文本文件名称)的名称,然后尝试使用 C# 后台代码更新它们?如果是这样,是否只是使用文本文件名称在 C# 中创建一个表实例并将其绑定(bind)到 asp:table 控件?

抱歉,如果这很复杂 - 今天第一次使用 asp.net。

最佳答案

您应该能够从处理文件的循环中的隐藏代码创建表格控件。您可以在标记中包含一个占位符控件,并将表格控件添加到占位符的控件集合中。

在 .aspx 中: <asp:PlaceHolder runat="server" ID="tablePlaceHolder"></asp:PlaceHolder>

在 .aspx.cs 中:

  foreach (var file in files) {
    var id = GetIdFromFileName(file); // derive ID from file
    var tblControl = new Table {ID = id};
    tablePlaceHolder.Controls.Add(tblControl);

    // create rows and cells for the table control as appropriate 
    // based on the content of the file
  }

关于c# - 使用 C# 代码隐藏将表动态添加到 ASP.NET Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33655290/

相关文章:

asp.net - 将 DTO 与 OData 和 Web API 结合使用

jquery - 如何在jqGrid单元格中插入按钮?

c# - 执行forloop时出现IndexOutOfRangeException

.net - ValueType 包装器的垃圾收集

c# - 何时使用 Task.Run().GetAwaiter().GetResult() 和 ().GetAwaiter.GetResult()?

c# - 在 asp.net mvc 中打开 .aspx 文件作为 cshtml 的部分 View

c# - WPF 资源字典组织

c# - INNO 设置序列号验证失败?

c# - 常量和编译时评估 - 为什么要改变这种行为

c# - 如何在用户单击浏览器停止按钮时停止服务器端处理 (ASP.net C#)