使用gridview asp.net的shoppingcart

克洛伊

我正在使用asp.net创建购物车

我遵循了我在网上找到的教程。添加购物车后,我正在使用gridview来查看购物车。但是,我不知道为什么,当我添加项目时,它不会显示在网格视图中。

我进行了计算,将所有项目加在一起。计算结果显示出来。只是我的项目在网格视图中似乎没有显示。

<asp:GridView ID="CartList" runat="server" 
        AutoGenerateColumns="false" 
        ShowFooter="True"
        GridLines="Vertical" 
        CellPadding="4" 
        ItemType="MyWebStore.Models.CartItem" 
        SelectedMethod="GetShoppingCartItems"
        CssClass="table table-striped table-bordered">
    <Columns>
        <asp:BoundField DataField="ProductID" HeaderText="ID" SortExpression="ProductID" />
        <asp:BoundField DataField="Products.ProductName" HeaderText="Name" />
        <asp:BoundField DataField="Products.UnitPrice" HeaderText="Price (each)" DataFormatString="{0:c}" />
        <asp:TemplateField HeaderText="Quantity">
            <ItemTemplate>
                <asp:TextBox ID="PurchaseQuantity" runat="server" Width="40" Text="<%#: Item.Quantity %>">
                </asp:TextBox>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Item Total">
            <ItemTemplate>
                <%#: String.Format("{0:c}",((Convert.ToDouble(Item.Quantity)) * Convert.ToDouble(Item.Product.UnitPrice))) %>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Remove Item">
            <ItemTemplate>
                <asp:CheckBox ID="Remove" runat="server"></asp:CheckBox>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

后台代码

protected void Page_Load(object sender, EventArgs e)
{
    using (ShoppingCartActions usersShoppingCart = new ShoppingCartActions())
    {
        decimal cartTotal = 0;
        cartTotal = usersShoppingCart.GetTotal();
        if (cartTotal > 0)
        {
            //Display total
            lblTotal.Text = String.Format("{0:c}", cartTotal);
        }
        else
        {
            LabelTotalText.Text = "";
            lblTotal.Text = "";
            ShoppingCartTitle.InnerText = "Shopping Cart is Empty";
        }
    }
}

public List<CartItem> GetShoppingCartItems()
{
    ShoppingCartActions actions = new ShoppingCartActions();
    return actions.GetCartItems();
}

protected void CartList_SelectedIndexChanged(object sender, EventArgs e)
{

}

CartItem类

public partial class CartItem
{
    public string ItemID { get; set; }
    public string CartID { get; set; }
    public int Quantity { get; set; }
    public System.DateTime DateCreated { get; set; }
    public int ProductID { get; set; }

    public virtual Product Product { get; set; }
}

有人可以告诉我为什么吗?

错误

System.Web.UI.DataBinder.GetPropertyValue(Object container, String propName) at System.Web.UI.DataBinder.Eval(Object container, String[] expressionParts) at System.Web.UI.DataBinder.Eval(Object container, String expression) at System.Web.UI.WebControls.BoundField.GetValue(Control controlContainer) at System.Web.UI.WebControls.BoundField.OnDataBindField(Object sender, EventArgs e) at System.Web.UI.Control.OnDataBinding(EventArgs e) at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) at System.Web.UI.Control.DataBind() at System.Web.UI.Control.DataBindChildren() at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) at System.Web.UI.Control.DataBind() at System.Web.UI.WebControls.GridView.CreateRow(Int32 rowIndex, Int32 dataSourceIndex, DataControlRowType rowType, DataControlRowState rowState, Boolean dataBind, Object dataItem, DataControlField[] fields, TableRowCollection rows, PagedDataSource pagedDataSource) at System.Web.UI.WebControls.GridView.CreateChildControls(IEnumerable dataSource, Boolean dataBinding) at System.Web.UI.WebControls.CompositeDataBoundControl.PerformDataBinding(IEnumerable data) at System.Web.UI.WebControls.GridView.PerformDataBinding(IEnumerable data) at System.Web.UI.WebControls.DataBoundControl.OnDataSourceViewSelectCallback(IEnumerable data) at System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) at System.Web.UI.WebControls.DataBoundControl.PerformSelect() at System.Web.UI.WebControls.BaseDataBoundControl.DataBind() at System.Web.UI.WebControls.GridView.DataBind() at System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() at System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() at System.Web.UI.Control.EnsureChildControls() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
依卡德

看来您正在按照本教程进行操作尝试在aspx代码中更改SelectedMethod="GetShoppingCartItems"SelectMethod="GetShoppingCartItems"

<asp:GridView ID="CartList" runat="server" 
        AutoGenerateColumns="false" 
        ShowFooter="True"
        GridLines="Vertical" 
        CellPadding="4" 
        ItemType="MyWebStore.Models.CartItem" 
        SelectMethod="GetShoppingCartItems"
        CssClass="table table-striped table-bordered">

并且以下似乎是错误的:

<asp:BoundField DataField="Products.ProductName" HeaderText="Name" />
<asp:BoundField DataField="Products.UnitPrice" HeaderText="Price (each)" DataFormatString="{0:c}" />

您将绑定List<CartItem>到中CartList,但CartItem类没有名为的任何属性Products尝试将这两行更改为:

<asp:BoundField DataField="Product.ProductName" HeaderText="Name" />
<asp:BoundField DataField="Product.UnitPrice" HeaderText="Price (each)" DataFormatString="{0:c}" />

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用gridview asp.net的shoppingcart

来自分类Dev

在asp.net中使用GridView,但正在GridView外部使用提交按钮

来自分类Dev

在ASP.NET GridView中使用Bootstrap tablesorter

来自分类Dev

使用实体框架进行Asp.net GridView搜索

来自分类Dev

使用超链接ASP.Net筛选GridView

来自分类Dev

使用asp.net和jQuery的GridView索引

来自分类Dev

使用Entity Framework的Asp.net GridView搜索

来自分类Dev

使用asp.net的jQuery Table Sorter对Gridview进行排序

来自分类Dev

C#ASP.net使用ImageButton填充GridView

来自分类Dev

使用超链接ASP.Net筛选GridView

来自分类Dev

ASP.NET GridView 使用 DataTable.Select 排序

来自分类Dev

使用 GridView 在 DB 上插入 ASP.NET 错误

来自分类Dev

使用 SQL 和 Asp.net Gridview 的渐变网格视图

来自分类Dev

使用 EPPlus 在 ASP.net 中将 Gridview 导出到 Excel

来自分类Dev

使用javaScript / jquery客户端在asp.net c#中的gridview计算中的gridview

来自分类Dev

排序GridView asp.net

来自分类Dev

Asp.net GridView OnRowUpdating

来自分类Dev

ASP.Net打印GridView

来自分类Dev

ASP.NET Gridview 出类拔萃

来自分类Dev

如何使用VB在ASP.NET中使用复选框填充gridview

来自分类Dev

在asp.net Web应用程序的Gridview中使用shift +滚动进行水平滚动?

来自分类Dev

复选框在gridview asp.net中使用Shift键选择多个

来自分类Dev

在asp.net gridview中使用ROW_NUMBER()在SQL中进行自定义分页

来自分类Dev

使用SqlDataSource将查询绑定到asp.net中的Gridview

来自分类Dev

如何在asp.net中的ButtonClick上使用Javascript隐藏GridView列?

来自分类Dev

如何使用ASP.NET C#从GridView中的TemplateField获取值?

来自分类Dev

如何使用asp.net中的javascript获取GridView中给定行的列值?

来自分类Dev

使用实体框架5.0.0.0的ASP.Net WebForms模型绑定GridView

来自分类Dev

如何使用GridView asp.net中的复选框获取选定的行值?

Related 相关文章

  1. 1

    使用gridview asp.net的shoppingcart

  2. 2

    在asp.net中使用GridView,但正在GridView外部使用提交按钮

  3. 3

    在ASP.NET GridView中使用Bootstrap tablesorter

  4. 4

    使用实体框架进行Asp.net GridView搜索

  5. 5

    使用超链接ASP.Net筛选GridView

  6. 6

    使用asp.net和jQuery的GridView索引

  7. 7

    使用Entity Framework的Asp.net GridView搜索

  8. 8

    使用asp.net的jQuery Table Sorter对Gridview进行排序

  9. 9

    C#ASP.net使用ImageButton填充GridView

  10. 10

    使用超链接ASP.Net筛选GridView

  11. 11

    ASP.NET GridView 使用 DataTable.Select 排序

  12. 12

    使用 GridView 在 DB 上插入 ASP.NET 错误

  13. 13

    使用 SQL 和 Asp.net Gridview 的渐变网格视图

  14. 14

    使用 EPPlus 在 ASP.net 中将 Gridview 导出到 Excel

  15. 15

    使用javaScript / jquery客户端在asp.net c#中的gridview计算中的gridview

  16. 16

    排序GridView asp.net

  17. 17

    Asp.net GridView OnRowUpdating

  18. 18

    ASP.Net打印GridView

  19. 19

    ASP.NET Gridview 出类拔萃

  20. 20

    如何使用VB在ASP.NET中使用复选框填充gridview

  21. 21

    在asp.net Web应用程序的Gridview中使用shift +滚动进行水平滚动?

  22. 22

    复选框在gridview asp.net中使用Shift键选择多个

  23. 23

    在asp.net gridview中使用ROW_NUMBER()在SQL中进行自定义分页

  24. 24

    使用SqlDataSource将查询绑定到asp.net中的Gridview

  25. 25

    如何在asp.net中的ButtonClick上使用Javascript隐藏GridView列?

  26. 26

    如何使用ASP.NET C#从GridView中的TemplateField获取值?

  27. 27

    如何使用asp.net中的javascript获取GridView中给定行的列值?

  28. 28

    使用实体框架5.0.0.0的ASP.Net WebForms模型绑定GridView

  29. 29

    如何使用GridView asp.net中的复选框获取选定的行值?

热门标签

归档