c# - 如何在文本框中绑定(bind) gridview 以及如何在 asp.net 中计算总值

标签 c# mysql asp.net gridview shopping-cart

我目前正在做一个购物车项目。从数据库中检索后,我的程序将显示一个 GridView 。

当我想从带有文本框和价格总值的数量中检索时,我遇到了错误。

我尝试使用 eval,但出现错误,指出服务器标记格式不正确。

谁能帮帮我?

提前致谢。

<asp:GridView ID="gv_Cart" runat="server" EmptyDataText="There is nothing in your shopping cart." CssClass="table table-striped table-bordered" ShowFooter="True" GridLines="Vertical" CellPadding="4" AutoGenerateColumns="False" >
            <Columns>
                <asp:BoundField  HeaderText="ID" DataField="productID" />  
                <asp:BoundField  HeaderText="Name" DataField="productName" /> 
                <asp:BoundField  HeaderText="Model" DataField="Model" />
                <asp:BoundField  HeaderText="Price (each)" DataFormatString="{0:c}" DataField="Price"/> 
                <asp:TemplateField HeaderText="Quantity">            
                <ItemTemplate>
                    <asp:TextBox ID="PurchaseQuantity" Width="40" runat="server" Text="<%# Eval("Quantity") %>"></asp:TextBox> 
                </ItemTemplate>        
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Item Total">            
                    <ItemTemplate>
                      <% String.Format("{0:c}", ((Convert.ToInt16(<%# Eval("Quantity") %>) * Convert.ToInt16(<%# Eval("price") %>) ))  %>
                    </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)
        {
        string a = Session["customer_Username"].ToString();

        List<cart> allCart = new List<cart>();

        allCart = cBLL.getUsername(a);

        gv_Cart.DataSource = allCart;
        gv_Cart.DataBind();
        }

最佳答案

我不是 100% 确定你说的错误在哪里..但这看起来是错误的..

<asp:TemplateField HeaderText="Item Total">            
        <ItemTemplate>
            <% String.Format("{0:c}", ((Convert.ToInt16(<%# Eval("Quantity") %>) * Convert.ToInt16(<%# Eval("price") %>) ))  %>
        </ItemTemplate>        
 </asp:TemplateField>

我想应该是这样的..

<asp:TemplateField HeaderText="Item Total">            
        <ItemTemplate>
            <asp:Label id="lblOne" runant="server" text="<% String.Format("{0:c}", ((Convert.ToInt16(<%# Eval("Quantity") %>) * Convert.ToInt16(<%# Eval("price") %>) ))  %>"></asp:Label>
        </ItemTemplate>        
 </asp:TemplateField>

关于c# - 如何在文本框中绑定(bind) gridview 以及如何在 asp.net 中计算总值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24830518/

相关文章:

c# - 在 asp.net c# 中从 excel 转换为数据表时日期格式发生变化

c# - AutoMapper:映射记录类型问题

MySQL - 使用 GROUP BY 和 DESC

php - 如何获得最接近现有值的 SUMMED mySQL 值?

MySQL : All In One Query

c# - ASP.Net : DataPager Control always a step behind with paging

c# - 使用 directx 在 c# 中学习图形的最佳方法是什么

c# - 强制参数,Dapper 和 System.Data.SqlClient.SqlException

c# - IEnumerator 的源代码在哪里?

asp.net - 如何将我的 WebForm 放置在我想要的位置*叹息*....?