9.3 GridView与SqlDataSource声明式语法
GridView与SqlDataSource声明式语法结构如下:
<asp:GridView>
<AlternatingRowStyle />
<Columns>
<asp:BoundField>
...
</asp:BoundField>
<asp:ButtonField>
...
</asp:ButtonField>
<asp:CheckBoxField>
...
</asp:CheckBoxField>
<asp:CommandField>
...
</asp:CommandField>
<asp:HyperLinkField>
...
</asp:HyperLinkField>
<asp:ImageField>
...
</asp:ImageField>
<asp:TemplateField>
<AlternatingItemTemplate>
...
</AlternatingItemTemplate>
<EditItemTemplate>
...
</EditItemTemplate>
<FooterTemplate>
...
</FooterTemplate>
<HeaderTemplate>
...
</HeaderTemplate>
<InsertItemTemplate>
...
</InsertItemTemplate>
<ItemTemplate>
...
</ItemTemplate>
</asp:TemplateField>
</Columns>
<EditRowStyle />
...
<EmptyDataRowStyle />
<EmptyDataTemplate>
...
</EmptyDataTemplate>
<FooterStyle />
<HeaderStyle />
<PagerSettings/>
<PagerStyle />
<PagerTemplate>
...
</PagerTemplate>
<RowStyle />
<SelectedRowStyle />
</asp:GridView>
<asp:SqlDataSource ID=”SqlDataSource1” runat=”server” ConflictDetection= “CompareAllValues”
ConnectionString=”<%$ ConnectionStrings:
NorthwindConnectionString %>”
SelectCommand=”...”
InsertCommand=”...”
UpdateCommand=”...”
DeleteCommand=”...”
OldValuesParameterFormatString=”original_{0}” >
<DeleteParameters>
<asp:Parameter Name=”数据字段” Type=”Int32” />
<asp:Parameter Name=”数据字段” Type=”String” />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name=”数据字段” Type=”String” />
<asp:Parameter Name=”数据字段” Type=”Decimal” />
</UpdateParameters>
<InsertParameters>
<asp:Parameter Name=”数据字段” Type=”String” />
<asp:Parameter Name=”数据字段” Type=”Decimal” />
</InsertParameters>
</asp:SqlDataSource>
在设置好GridView与SqlDataSource数据源与数据绑定后,VS 2005会自动产生如上的HTML声明式语法,比较特别的一点是所有的SQL命令语法、数据字段名称、数据类型会一并曝光,相形之下也等于公布了网站的弱点或机密给黑客等有心人,这是以前所没有的,故若想完全保护网站的数据安全性,可以使用第2章2.8节与2.13节所讲的数据库连接字符串加密与网站预编译来让上述的HTML标签语法完全消失,相对也大大地加强了网站安全性。






