2014-07-18 3 views
0

현재 장바구니 프로젝트를 진행 중입니다. 데이터베이스에서 검색 한 후 프로그램에 그리드 뷰가 표시됩니다.textbox에서 gridview를 바인딩하는 방법 및 asp.net에서 총 값을 계산하는 방법

텍스트 상자와 가격의 총액으로 Quantity에서 검색하려고 할 때 오류가 발생했습니다.

나는 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(); 
     } 

답변

1

태그는 참으로 잘 형성되지 않았다. 여기에 더 나은 버전입니다 : 그것은 <% %>의 단지 부분을 사용

<%# String.Format("{0:c}", Convert.ToInt16(Eval("Quantity")) * Convert.ToInt16(Eval("price")) %> 

하는 것으로, 여기에는 내부 서버 태그가 없습니다. 이러한 태그는 중첩되지 않아야합니다.

업데이트. 수량 필드의 경우 견적을 수정하면됩니다. 평가에 대한 속성 값에 대한 작은 따옴표와 큰 따옴표를 사용

Text='<%# Eval("Quantity") %>' 
+0

안녕하세요, 귀하의 도움에 감사드립니다.하지만 태그가 잘 형성되지 않았다는 구매 수량에 오류가 발생했습니다. 어떤 해결책? – Samuel

+0

@Samuel, 죄송합니다, 놓치 셨습니다. 업데이트를 확인하십시오. – Andrei

1

을 나는 오류가 말을 .. 그러나 이것은 잘못된 보이는 경우 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> 
1

나는 상상이 같은 ..

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