show the line which is causing the error

解决方案 »

  1.   

    上面没提示哪一行出错了!
    <!--源文件:form\ServerControl\FormDataList01.aspx--> 
    <%@ 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 
    dim i as int32
    '如果没有连接变量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" > 
    <HeaderTemplate> 
    <center><h>书籍序号</h></center> 
    </HeaderTemplate>  
    <ItemTemplate>
    <asp:LinkButton id="button1" runat="server" Text="详细" CommandName="edit" /> 
    <%# Container.DataItem("name") %> 
    </ItemTemplate> 
    <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> 
    </EditItemTemplate> 
    </asp:DataList> 
    </font> 
    </form> 
    </center> 
    </body> 
    </html>