-1

有没有人有任何技巧可以快速为特定数据库表布置 asp.net html 标记?

例如,假设我有一个表“公司”,我只想为所有列呈现一个文本框。

我认为我看到并确认有效的一个技巧是做一些标记,如下所示:

<p><label for="zzzz">zzzz</label><asp:TextBox ID="zzzz" Text='<%# Bind("zzzz")%>' runat="server" /></p>
<p><label for="zzzz">zzzz</label><asp:TextBox ID="zzzz" Text='<%# Bind("zzzz")%>' runat="server" /></p>
<p><label for="zzzz">zzzz</label><asp:TextBox ID="zzzz" Text='<%# Bind("zzzz")%>' runat="server" /></p>
<p><label for="zzzz">zzzz</label><asp:TextBox ID="zzzz" Text='<%# Bind("zzzz")%>' runat="server" /></p>
<p><label for="zzzz">zzzz</label><asp:TextBox ID="zzzz" Text='<%# Bind("zzzz")%>' runat="server" /></p>
<p><label for="zzzz">zzzz</label><asp:TextBox ID="zzzz" Text='<%# Bind("zzzz")%>' runat="server" /></p>

基本上,数据库表中的每行一个。

然后,选择(在 SQL Server 中):

select * from INFORMATION_SCHEMA.COLUMNS where table_name = 'Company'

突出显示结果输出中的 COLUMN_NAME 列并复制到剪贴板。

然后,使用 ALT + 拖动技巧突出显示垂直列,突出显示标记中的 zzzz(从右侧开始,以便保持对齐),并将列名称粘贴到顶部。我发誓我在视频中看到了这个,我自己尝试过,它成功了,但今晚我似乎无法让它工作。

当然,更好的方法是通过 T4 或某种类似的代码生成,只需让每个表将默认 html 呈现到文件夹中,例如 \CodeGen\EditForms ,您可以从中复制和粘贴,但对于我不知道从哪里开始。

更新

果然,我一发布问题就弄清楚了复制粘贴的内容。
诀窍是从 SSMS 粘贴到 Visual Studio,然后使用 ALT+拖动选择列名,然后您可以粘贴到 zzzz 的顶部。

所以我想这已经解决了。我真的很想看到一个例子,说明如何用 T4 做得更好。

4

1 回答 1

1

有一个很好的“我如何:创建和使用 T4 模板?” MSDN 站点上的视频,它通常涵盖 T4 的使用,并包含一个具体示例,该示例涵盖了使用 Microsoft.SqlServer.Management.SMO 命名空间中的类来生成与数据库中的每个表对应的类,并根据每个表生成一个属性每个类中的表列。

请注意,该视频时长 25 分钟,您特别感兴趣的部分(从数据库模式生成代码)大约从 14 分钟开始。不过,如果您是 T4 新手,那么从一开始就值得一看:例如,您可能想学习如何将输出文件类型指定为“.aspx”,这在开头附近进行了介绍。

通过对本视频中显示的代码进行相对较小的修改,您应该能够使用 T4 生成您感兴趣的 aspx 代码。

为希尔顿 Giesenow 制作如此有用的视频提供支持。快乐生成!

于 2009-08-29T22:40:31.103 回答