风影ASP.NET基础教学 11 FormView

 

无论功能上还是使用方法上,FormView与DetailsView都非常的类似,FormView控件使你同样可以使用数据源的单个记录。它也用于更新和插入新纪录,并且通常在详细方案中使用,在这些方案中,主控件的选中记录决定要在FormView控件中显示的记录。

FormView和DetailsView控件的区别在于,DetailsView控件使用表格布局,在该布局中,记录的每个字段都各自显示为一行,而FormView控件不指定用于显示记录的预定义布局,它在显示上比DetailsView控件具有更大的灵活性。实际上,将创建一个包含控件的模板,以显示记录中的各个字段,该模板中可以包含用于创建窗体的格式、控件和绑定表达式等。

可以用于通过创建模板来为FormView控件生成用户界面,为不同操作指定不同的模板。

FormView常用的模板

EditItemTemplate 定义数据行在FormView控件处于编辑模式时的内容。此模板通常包含用户可以用来编辑现有记录的输入控件和命令按钮
EmptyTemplate 定义在没有数据时的模板内容
FooterTemplate 定义底部的内容
HeaderTemplate 定义头部的内容
ItemTemplate 定义数据行在FormView控件处于只读模式时的内容
InsertItemTemplate 定义数据行在FormView控件处于插入模式时的内容。
PagerTemplate 定义用于启用分页的功能。

 

如下代码所示

<form id="form1" runat="server">
<div>
    <asp:FormView ID="FormView1" runat="server" DataSourceID="SqlDataSource1">
        <ItemTemplate>
            <b>
                <%# Eval("Id") %>
                <%# Eval("Title") %>
            </b>
            <hr />
            <small>
                <li><%# Eval("PublishDate") %></li>
                <li><%# Eval("UnitPrice") %></li>
                <li><%# Eval("CategoryId") %></li>
            </small>
        </ItemTemplate>
    </asp:FormView>
    <asp:SqlDataSource ID="SqlDataSource1" ConnectionString="<%$ ConnectionStrings:con %>" runat="server" SelectCommand="Select * from Books"></asp:SqlDataSource>
</div>
</form>

运行结果:

image

与DetailsView一样,FormView也提供了许多内置功能,这些功能使我们可以对控件中的项进行更新、删除、插入和分页。FormView控件绑定到数据源控件时,FormView控件可以利用该数据源控件的功能并提供自动更新、删除、插入和分页功能。

值得注意的是FormView使用的是模板,所以该控件不提供自动生成命令按钮以执行更新、删除插入等方法,因此我们需要自己动手将这些命令包含在合适的模板中,FormView控件识别CommandName属性,下面列出了可以识别的命令按钮

取消 Cancel   返回默认模式
删除 Delete     删除数据
编辑 Edit         进入编辑模式
插入 Insert      插入数据
新建 New        进入插入模式
Page       如果设定分页操作,请将该按钮的CommandArgument属性设置为“Next”,”Prev”,”First”,”Last”
更新 Update    更新数据

posted on 2012-08-30 17:38  任生风影  阅读(616)  评论(0编辑  收藏  举报

导航