⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datalistedit.aspx

📁 asp.net技术内幕的书配源码
💻 ASPX
字号:
<%@ Import Namespace="System.Data.SqlClient" %>

<Script Runat="Server">

Sub Page_Load
  If Not IsPostBack Then
    BindDataList
  End If
End Sub

Sub BindDataList
  Dim conPubs As SqlConnection
  Dim cmdSelect As SqlCommand
  Dim dtrAuthors As SqlDataReader

  conPubs = New SqlConnection( "Server=localhost;UID=sa;PWD=secret;Database=Pubs" )
  cmdSelect = New SqlCommand( "Select au_id, au_lname, phone From Authors Order by au_lname", conPubs )
  conPubs.Open()
  dtrAuthors = cmdSelect.ExecuteReader()

  dlstAuthors.DataSource = dtrAuthors
  dlstAuthors.DataBind()

  dtrAuthors.Close()
  conPubs.Close()
End Sub

Sub dlstAuthors_EditCommand( s As Object, e As DataListCommandEventArgs )
  dlstAuthors.EditItemIndex = e.Item.ItemIndex
  BindDataList
End Sub

Sub dlstAuthors_CancelCommand( s As Object, e As DataListCommandEventArgs )
  dlstAuthors.EditItemIndex = -1
  BindDataList
End Sub

Sub dlstAuthors_DeleteCommand( s As Object, e As DataListCommandEventArgs )
  Dim conPubs As SqlConnection
  Dim strDelete As String
  Dim cmdDelete As SqlCommand
  Dim strAuthorID As String

  strAuthorID = dlstAuthors.DataKeys( e.Item.ItemIndex )
  conPubs = New SqlConnection( "Server=localhost;UID=sa;PWD=secret;Database=Pubs" )
  strDelete = "Delete Authors Where au_id=@authorID"
  cmdDelete = New SqlCommand( strDelete, conPubs )
  cmdDelete.Parameters.Add( "@authorID", strAuthorID )
  conPubs.Open()
  cmdDelete.ExecuteNonQuery()
  conPubs.Close()
  dlstAuthors.EditItemIndex = -1
  BindDataList
End Sub

Sub dlstAuthors_UpdateCommand( s As Object, e As DataListCommandEventArgs )
  Dim conPubs As SqlConnection
  Dim strUpdate As String
  Dim cmdUpdate As SqlCommand
  Dim strAuthorID As String
  Dim txtLastName As TextBox
  Dim txtPhone As TextBox

  strAuthorID = dlstAuthors.DataKeys( e.Item.ItemIndex )
  txtLastName = e.Item.FindControl( "txtLastName" )
  txtPhone = e.Item.FindControl( "txtPhone" )
  conPubs = New SqlConnection( "Server=localhost;UID=sa;PWD=secret;Database=Pubs" )
  strUpdate = "Update Authors Set au_lname=@lastname, phone=@phone Where au_id=@authorID"
  cmdUpdate = New SqlCommand( strUpdate, conPubs )
  cmdUpdate.Parameters.Add( "@authorID", strAuthorID )
  cmdUpdate.Parameters.Add( "@lastname", txtLastName.Text )
  cmdUpdate.Parameters.Add( "@phone", txtPhone.Text )
  conPubs.Open()
  cmdUpdate.ExecuteNonQuery()
  conPubs.Close()
  dlstAuthors.EditItemIndex = -1
  BindDataList
End Sub

</Script>

<html>
<head><title>DataListEdit.aspx</title></head>
<body>
<form Runat="Server">

<asp:DataList
  ID="dlstAuthors"
  DataKeyField="au_id"
  OnEditCommand="dlstAuthors_EditCommand"
  OnCancelCommand="dlstAuthors_CancelCommand"
  OnDeleteCommand="dlstAuthors_DeleteCommand"
  OnUpdateCommand="dlstAuthors_UpdateCommand"
  RepeatColumns="4"
  GridLines="Both"
  CellPadding="10"
  EditItemStyle-BackColor="lightgrey"
  Runat="Server">

<ItemTemplate>
  <%# Container.DataItem( "au_lname" )%>
  - <%# Container.DataItem( "phone" )%>
  <br>
  <asp:LinkButton
    Text="Edit!"
    CommandName="edit"
    Runat="Server" />
</ItemTemplate>

<EditItemTemplate>
  <b>Last Name:</b>
  <br>
  <asp:TextBox
    ID="txtLastName"
    Text='<%# Container.DataItem( "au_lname" )%>'
    Runat="Server" />
  <p>
  <b>Phone:</b>
  <br>
  <asp:TextBox
    ID="txtPhone"
    Text='<%# Container.DataItem( "phone" )%>'
    Runat="Server" />
  <p>
  <asp:LinkButton
    Text="Update!"
    CommandName="update"
    Runat="Server" />
  <asp:LinkButton
    Text="Delete!"
    CommandName="delete"
    Runat="Server" />
  <asp:LinkButton
    Text="Cancel!"
    CommandName="cancel"
    Runat="Server" />

</EditItemTemplate>

</asp:DataList>

</form>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -