ASP.NET Tutorial/Data Binding/FormView

Материал из .Net Framework эксперт
Версия от 14:59, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

A FormView: edit a table record in the database table

   <source lang="csharp">

<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">

   <title>Show FormView</title>

</head> <body>

   <form id="form1" runat="server">
   <asp:FormView
       id="FormView1"
       DataKeyNames="Id"
       DataSourceId="srcProducts"
       DefaultMode="Edit"
       AllowPaging="true"
       Runat="server">
       <EditItemTemplate>
       <asp:Label
           id="lblTitle"
           Text="Title:"
           AssociatedControlID="txtTitle"
           Runat="server" />
       <asp:TextBox
           id="txtTitle"
           Text="<%#Bind("Title")%>"
           Runat="server" />
       
<asp:Label id="lblDirector" Text="Director:" AssociatedControlID="txtDirector" Runat="server" /> <asp:TextBox id="txtDirector" Text="<%#Bind("Director")%>" Runat="server" />
<asp:Button id="btnUpdate" Text="Update" CommandName="Update" Runat="server" /> </EditItemTemplate> </asp:FormView> <asp:SqlDataSource id="srcProducts" ConnectionString="Data Source=.\SQLExpress; AttachDbFilename=|DataDirectory|MyDatabase.mdf; Integrated Security=True;User Instance=True" SelectCommand="SELECT Id, Title,Director,DateReleased FROM Products" UpdateCommand="UPDATE Products SET Title=@Title, Director=@Director WHERE Id=@Id" Runat="server" />
   </form>

</body> </html></source>


Deleting Data with the FormView Control

   <source lang="csharp">

<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"

  "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" > <body>

   <form id="form1" runat="server">
   <asp:FormView
       id="frmProducts"
       DataSourceID="srcProducts"
       DataKeyNames="Id"
       AllowPaging="true"
       Runat="server">
       <ItemTemplate>

<%# Eval("Title") %>

       Directed By:
       <%# Eval("Director") %>
       
In Theaters: <%#Eval("InStock") %>

       <asp:LinkButton
           id="lnkDelete"
           Text="Delete Product"
           CommandName="Delete"
           OnClientClick="return confirm("Are you sure?");"
           Runat="server" />
       </ItemTemplate>
   </asp:FormView>
   <asp:SqlDataSource
       id="srcProducts"
       ConnectionString="<%$ ConnectionStrings:Products %>"
       SelectCommand="SELECT Id,Title,Director,InStock
           FROM Products"
       DeleteCommand="DELETE Products WHERE Id=@Id"
       Runat="server" />
   </form>

</body> </html> File: Web.config <configuration>

 <connectionStrings>
   <add name="Products" 
        connectionString="Data Source=.\SQLEXPRESS;
        AttachDbFilename=|DataDirectory|MyDatabase.mdf;Integrated Security=True;User Instance=True" />
 </connectionStrings>

</configuration></source>


Displaying Data with the FormView Control

   <source lang="csharp">

<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"

 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" > <body>

   <form id="form1" runat="server">
   <asp:FormView
       id="frmProducts"
       DataSourceID="srcProducts"
       Runat="server">
       <ItemTemplate>

<%# Eval("Title") %>

       Directed By:
       <%# Eval("Director") %>
       
Box Office Totals: <%#Eval("Totals", "{0:c}") %> </ItemTemplate> </asp:FormView> <asp:SqlDataSource id="srcProducts" ConnectionString="<%$ ConnectionStrings:Products %>" SelectCommand="SELECT Id,Title,Director,Totals FROM Products WHERE Id=1" Runat="server" />
   </form>

</body> </html> File: Web.config <configuration>

 <connectionStrings>
   <add name="Products" 
        connectionString="Data Source=.\SQLEXPRESS;
        AttachDbFilename=|DataDirectory|MyDatabase.mdf;Integrated Security=True;User Instance=True" />
 </connectionStrings>

</configuration></source>


Editing Data with the FormView Control

   <source lang="csharp">

<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"

 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" > <body>

   <form id="form1" runat="server">
   <asp:FormView
       id="frmProducts"
       DataSourceID="srcProducts"
       DataKeyNames="Id"
       AllowPaging="true"
       Runat="server">
       <ItemTemplate>

<%# Eval("Title") %>

       Directed By:
       <%# Eval("Director") %>
       
Box Office Totals: <%#Eval("Totals", "{0:c}") %>

       <asp:LinkButton
           id="lnkEdit"
           Text="Edit Product"
           CommandName="Edit"
           Runat="server" />
       </ItemTemplate>
       <EditItemTemplate>
       <asp:Label
           id="lblTitle"
           Text="Product Title:"
           AssociatedControlID="txtTitle"
           Runat="server" />
       
<asp:TextBox id="txtTitle" Text="<%# Bind("Title") %> Runat="server" />

<asp:Label id="lblDirector" Text="Product Director:" AssociatedControlID="txtDirector" Runat="server" />
<asp:TextBox id="txtDirector" Text="<%# Bind("Director") %> Runat="server" />

<asp:Label id="lblTotals" Text="Box Office Totals:" AssociatedControlID="txtTotals" Runat="server" />
<asp:TextBox id="txtTotals" Text="<%# Bind("Totals") %> Runat="server" />

<asp:LinkButton id="lnkUpdate" Text="Update Product" CommandName="Update" Runat="server" /> | <asp:LinkButton id="lnkCancel" Text="Cancel Update" CommandName="Cancel" Runat="server" /> </EditItemTemplate> </asp:FormView> <asp:SqlDataSource id="srcProducts" ConnectionString="<%$ ConnectionStrings:Products %>" SelectCommand="SELECT Id,Title,Director,Totals FROM Products" UpdateCommand="UPDATE Products SET Title=@Title, Director=@Director,Totals=@Totals WHERE Id=@Id" Runat="server" />
   </form>

</body> </html></source>


Inserting Data with the FormView Control

   <source lang="csharp">

<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"

 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" > <body>

   <form id="form1" runat="server">
   <asp:FormView
       id="frmProducts"
       DataSourceID="srcProducts"
       AllowPaging="true"
       Runat="server">
       <ItemTemplate>

<%# Eval("Title") %>

       Directed By:
       <%# Eval("Director") %>
       
In Theaters: <%#Eval("InStock") %>

       <asp:LinkButton
           id="lnkNew"
           Text="New Product"
           CommandName="New"
           Runat="server" />
       </ItemTemplate>
       <InsertItemTemplate>
       <asp:Label
           id="lblTitle"
           Text="Product Title:"
           AssociatedControlID="txtTitle"
           Runat="server" />
       
<asp:TextBox id="txtTitle" Text="<%# Bind("Title") %> Runat="server" />

<asp:Label id="lblDirector" Text="Product Director:" AssociatedControlID="txtDirector" Runat="server" />
<asp:TextBox id="txtDirector" Text="<%# Bind("Director") %> Runat="server" />

<asp:CheckBox id="chkInStock" Text="In Theaters" Checked="<%# Bind("InStock") %> Runat="server" />

<asp:LinkButton id="lnkInsert" Text="Insert Product" CommandName="Insert" Runat="server" /> | <asp:LinkButton id="lnkCancel" Text="Cancel Insert" CommandName="Cancel" Runat="server" /> </InsertItemTemplate> </asp:FormView> <asp:SqlDataSource id="srcProducts" ConnectionString="<%$ ConnectionStrings:Products %>" SelectCommand="SELECT Id,Title,Director,InStock FROM Products" InsertCommand="INSERT Products (Title,Director,InStock) VALUES (@Title,@Director, Runat="server" />
   </form>

</body> </html>

File: Web.config <configuration>

 <connectionStrings>
   <add name="Products" 
        connectionString="Data Source=.\SQLEXPRESS;
        AttachDbFilename=|DataDirectory|MyDatabase.mdf;Integrated Security=True;User Instance=True" />
 </connectionStrings>

</configuration></source>


Paging Through Data with the FormView Control

   <source lang="csharp">

<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"

 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">

   <title>Show FormView Paging</title>

</head> <body>

   <form id="form1" runat="server">
   <asp:FormView
       id="frmProducts"
       DataSourceID="srcProducts"
       AllowPaging="true"
       Runat="server">
       <ItemTemplate>

<%# Eval("Title") %>

       Directed By:
       <%# Eval("Director") %>
       
Box Office Totals: <%#Eval("Totals", "{0:c}") %> </ItemTemplate> </asp:FormView> <asp:SqlDataSource id="srcProducts" ConnectionString="<%$ ConnectionStrings:Products %>" SelectCommand="SELECT Id,Title,Director,Totals FROM Products" Runat="server" />
   </form>

</body> </html> File: Web.config <configuration>

 <connectionStrings>
   <add name="Products" 
        connectionString="Data Source=.\SQLEXPRESS;
        AttachDbFilename=|DataDirectory|MyDatabase.mdf;Integrated Security=True;User Instance=True" />
 </connectionStrings>

</configuration></source>


Using a PagerTemplate with the FormView control.

   <source lang="csharp">

<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"

  "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" > <body>

   <form id="form1" runat="server">
   <asp:FormView
       id="frmProducts"
       DataSourceID="srcProducts"
       AllowPaging="true"
       CssClass="frmProducts"
       Runat="server">
       <ItemTemplate>

<%# Eval("Title") %>

       Directed By:
       <%# Eval("Director") %>
       
Box Office Totals: <%#Eval("Totals", "{0:c}") %> </ItemTemplate> <PagerTemplate>

       Page: <%# frmProducts.PageIndex + 1 %>
       <asp:LinkButton
           id="lnkPrevious"
           Text="Previous Page"
           CommandName="Page"
           CommandArgument="Prev"
           Runat="server" />
       |
       <asp:LinkButton
           id="lnkNext"
           Text="Next Page"
           CommandName="Page"
           CommandArgument="Next"
           Runat="server" />
       </PagerTemplate>
   </asp:FormView>
   <asp:SqlDataSource
       id="srcProducts"
       ConnectionString="<%$ ConnectionStrings:Products %>"
       SelectCommand="SELECT Id,Title,Director,Totals FROM Products"
       Runat="server" />
   </form>

</body> </html> File: Web.config <configuration>

 <connectionStrings>
   <add name="Products" 
        connectionString="Data Source=.\SQLEXPRESS;
        AttachDbFilename=|DataDirectory|MyDatabase.mdf;Integrated Security=True;User Instance=True" />
 </connectionStrings>

</configuration></source>