5-11.aspx

来自「asp做的新闻系统」· ASPX 代码 · 共 141 行

ASPX
141
字号
<%@ Import Namespace="System.Data" %>
<html>
    <script language="VB" runat="server">
    dim Book As DataTable
    dim BookView As DataView
    '设置数据源,并绑定	
    Sub BindList()
        DataList1.DataSource= BookView
        DataList1.DataBind
    End Sub

    Sub Page_Load(s As Object, e As EventArgs) 

        Dim dr As DataRow
	'如果没有连接变量session_book,定义数据表Book,并载入实验数据
	if session("session_Book") = Nothing then
            Book = New DataTable()
            Book.Columns.Add(new DataColumn("num", GetType(string)))
            Book.Columns.Add(new DataColumn("name", GetType(String)))
            Book.Columns.Add(new DataColumn("price", GetType(String)))
            session("session_Book") = Book           
            '载入部分测试数据
            For i = 1 To 6
                dr = Book.NewRow()
                dr(0)=i.ToString
                dr(1) = "书名 " & i.ToString
                dr(2) = ( 1.11* i).ToString
                Book.Rows.Add(dr)
            Next
       '有session_book变量,直接引用
          Else
             Book = session("session_Book")
           end if
       '产生数据视图,并按num字段排序
        BookView = New DataView(Book)
        BookView.Sort="num"
        '初次需绑定数据源
        if Not IsPostBack then    
        	BindList
        End If

    End Sub

    '编辑处理函数	
    Sub DataList_EditCommand(sender As Object, e As DataListCommandEventArgs)
        DataList1.EditItemIndex = e.Item.ItemIndex
        BindList
    End Sub
    '取消处理函数
    Sub DataList_CancelCommand(sender As Object, e As DataListCommandEventArgs)
        DataList1.EditItemIndex = -1
        BindList
    End Sub
    '更新处理函数
    Sub DataList_UpdateCommand(sender As Object, e As DataListCommandEventArgs)
        Dim lbl1 As Label = e.Item.FindControl("lblNum")
        Dim txt2 As TextBox = e.Item.FindControl("txtBook")
        Dim txt3 As TextBox = e.Item.FindControl("txtPrice")
   
        dim strNum as String
        dim strBook as String
        dim strPrice as String

        strNum=lbl1.text
        strBook=txt2.text
        strPrice=txt3.text
        '用先删除再插入的方式,实现数据的更新操作
        BookView.RowFilter = "num='" & strNum & "'"
        If BookView.Count > 0 Then
            BookView.Delete(0)
        End If

        BookView.RowFilter = ""
	dim dr as DataRow=Book.NewRow()       
        dr(0) = strNum
        dr(1) = strBook
        dr(2) = strPrice
        Book.Rows.Add(dr)

        DataList1.EditItemIndex = -1
        BindList
    End Sub

    </script>
<head>
<title>
数据列表修改实验
</title>
</head>
<body>
<center>
    <h2>数据列表修改实验</h2>
    <hr>
    <p></p>

    <form runat=server>
    <font face="Verdana" size="-1">
        <!--编辑时显示绿色,并定义编辑、修改、取消时的处理函数-->
        <asp:DataList id="DataList1" runat="server"
            BorderColor="black"
            BorderWidth="1"
            GridLines="Both"
            CellPadding="3"
            CellSpacing="0"
            Font-Name="Verdana"
            Font-Size="8pt"
            Width="150px"
            HeaderStyle-BackColor="#aaaadd"
            AlternatingItemStyle-BackColor="Gainsboro"
            EditItemStyle-BackColor="green"
            OnEditCommand="DataList_EditCommand"
            OnUpdateCommand="DataList_UpdateCommand"
            OnCancelCommand="DataList_CancelCommand"
            >
              <template name="HeaderTemplate">
              <center><h>书籍序号</h></center>
              </template>
              <template name="ItemTemplate">
                <asp:LinkButton id="button1" runat="server" Text="详细" CommandName="edit" />
                <%# Container.DataItem("name")  %>
              </template>
              <template name="EditItemTemplate">
                书籍: 序号
                <asp:Label id="lblNum" runat="server" Text='<%# Container.DataItem("num")  %>' /><br>
                书名:
                <asp:TextBox id="txtBook" runat="server" Text='<%# Container.DataItem("name")  %>' /><br>
                价格:
                <asp:TextBox id="txtPrice" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "price") %>' />
                <br>
		<center>
                <asp:Button id="button2" runat="server" Text="修 改" CommandName="update" />
                <asp:Button id="button3" runat="server" Text="撤 消" CommandName="cancel" />
                </center>
              </template>
        </asp:DataList>
    </font>
    </form>
</center>
</body>
</html>

⌨️ 快捷键说明

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