有没有人为快速布局特定数据库表的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做得更好。
答案 0 :(得分:1)
MSDN网站上有一个很好的"How Do I: Create And Use T4 Templates?"视频,它通常涵盖了T4的使用,并且包含一个特定示例,其中包含使用Microsoft.SqlServer.Management.SMO命名空间中的类来生成类对应于数据库中的每个表,并在每个类中为每个表列生成一个属性。
请注意,视频长度为25分钟,您特别感兴趣的位(从数据库架构生成代码)大约需要14分钟。如果您是T4的新用户,那么值得观看从一开始:例如,您可能想要学习如何将输出文件类型指定为“.aspx”,这在开头附近有所涉及。
通过对此视频中显示的代码进行相对较小的修改,您应该能够使用T4生成您感兴趣的aspx代码。
推荐希尔顿Giesenow创建这样一个有用的视频。快乐生成!