哪位解释一下,这段代码怎样在vs。net 2003里写出来,不能都写在.aspx下吧?怎么写?

解决方案 »

  1.   

    代码如下:<%@ Import Namespace="System.Data" %><html>
     
    <script language="VB" runat="server">    Dim CartView As DataView
        Dim runningTotal As Double = 0    'Cart 是 Page 上的一个属性
        ReadOnly Property Cart As DataTable
            Get
                Dim tmpCart As DataTable
                Dim i As Integer
                Dim dr As DataRow            If Session("DG_ShoppingCart") Is Nothing Then
                    tmpCart = new DataTable()
                    tmpCart.Columns.Add(new DataColumn("数量", GetType(String)))
                    tmpCart.Columns.Add(new DataColumn("产品", GetType(String)))
                    tmpCart.Columns.Add(new DataColumn("价格", GetType(Double)))
                    tmpCart.Columns.Add(new DataColumn("礼品包", GetType(Boolean)))
                    Session("DG_ShoppingCart") = tmpCart                ' 第一次加载 -- 预填充一些数据
                    For i= 1 to 6
                        dr = tmpCart.NewRow()
                        dr(0) = "1"
                        dr(1) = "产品" & i.ToString
                        dr(2) = 1.23 * (i+1)
                        dr(3) = false
                        tmpCart.Rows.Add(dr)
                    Next
                    Return tmpCart
                Else
                    Return Session("DG_ShoppingCart")
                End If
            End Get
        End Property    'Sub Page_Init(sender As Object, e As EventArgs)
        '    MyDataGrid.EnableViewState = true
        'End Sub    Sub Page_Load(sender As Object, e As EventArgs)
            CartView = Cart.DefaultView
            If Not IsPostBack Then
                BindGrid
            End If
        End Sub    Sub BindGrid()
            MyDataGrid.DataSource = CartView
            MyDataGrid.DataBind()
        End Sub    Sub btnUpdate_click(sender As Object, e As EventArgs)
            Dim i As Integer
            Dim _item As DataGridItem
            Dim dr As DataRow        For i = 0 To MyDataGrid.Items.Count - 1            _item = MyDataGrid.Items(i)
                Dim qtyTextBox As TextBox= _item.FindControl("txtQty")
                Dim giftCheckBox As CheckBox = _item.FindControl("chkGIft")            ' 对于数据库,我们应使用一条更新命令。
                ' 因为这是一个内存内数据表,所以我们只更改内存内的行。
                dr = Cart.Rows(i)
                dr(0) = qtyTextBox.Text
                dr(3) = giftCheckBox.Checked
            Next
            BindGrid
        End Sub
        Function CalcTotal (count As Integer, price As Double) As Double
            Dim total As Double        total = count * price
            runningTotal += total        CalcTotal = total
        End Function</script><body>    <h3><font face="宋体">DataGrid 的自定义编辑</font></h3>    <form runat=server>      <ASP:DataGrid id="MyDataGrid" runat="server"
            BorderColor="black"
            BorderWidth="1"
            GridLines="none"
            CellPadding="4"
            Font-Name="宋体"
            Font-Size="8pt"
            HeaderStyle-BackColor="#aaaadd"
            AutoGenerateColumns="false"
          >
              <Columns>
                <asp:TemplateColumn HeaderText="数量">
                    <ItemTemplate>
                        <asp:TextBox id=txtQty runat="server"
                            Text='<%# DataBinder.Eval(Container.DataItem, "数量") %>'
                            Width="40px"
                            />
                    </ItemTemplate>
                </asp:TemplateColumn>
                <asp:BoundColumn HeaderText="产品" DataField="产品"/>
                <asp:BoundColumn HeaderText="价格" DataField="价格" DataFormatString="{0:c}" />
                <asp:TemplateColumn HeaderText="礼品包?">
                    <ItemTemplate>
                        <center>
                        <asp:CheckBox id=chkGIft runat="server"
                            Checked='<%# DataBinder.Eval(Container.DataItem, "礼品包") %>'
                            />
                        </center>
                    </ItemTemplate>
                </asp:TemplateColumn>
                <asp:TemplateColumn HeaderText="小计">
                    <ItemTemplate>
                        <p align="right">
                        <asp:Label runat="server"
                            Text='<%# System.String.Format("{0:c}",CalcTotal(Int32.Parse(DataBinder.Eval(Container.DataItem, "数量")),DataBinder.Eval(Container.DataItem, "价格"))) %>'
                            />
                        </p>
                    </ItemTemplate>
                    <FooterTemplate>
                        <p align="right"><b>
                        <asp:Label runat="server"
                            Text='<%# System.String.Format("{0:c}", runningTotal) %>'
                            />
                        </b></p>
                    </FooterTemplate>            </asp:TemplateColumn>
              </Columns>      </asp:DataGrid>    <asp:LinkButton id=btnUpdate runat="server"
            Text="更新合计"
            Font-Name="Verdana"
            Font-Size="9pt"
            onClick="btnUpdate_click"
            />  </form></body>
    </html>