【发布时间】:2011-02-06 19:59:16
【问题描述】:
我最近决定对我建立的电子商务网站征税,但我遇到了一个绊脚石。
我的实现运行良好,税款应用正确等,但是今天有朋友向我指出,产品页面上的价格通常显示为含税。
我在想,与其编辑业务和数据层,我可以在 DataList 本身上更改它,但我终其一生都无法弄清楚我将如何实际做到这一点。我看过一些教科书并在网上搜索过,但因为我实际上不知道我在寻找什么,所以我被困住了:(。
数据列表:
<asp:DataList ID="list" runat="server" RepeatColumns="2" CssClass="ProductList" RepeatDirection="Horizontal"
Width="542px" EnableViewState="False" onitemcommand="list_ItemCommand">
<ItemTemplate>
<div style="width:271px;">
<h3 class="ProductName"><a href="<%# Link.ToProduct(Eval("ProductID").ToString()) %>"><%# HttpUtility.HtmlEncode(Eval("Name").ToString()) %></a></h3>
<a href="<%# Link.ToProduct(Eval("ProductID").ToString()) %>"><img width="100" border="0" src="<%# Link.ToProductImage(Eval("Thumbnail").ToString()) %>" alt='<%# HttpUtility.HtmlEncode(Eval("Name").ToString()) %>' /></a>
<%# HttpUtility.HtmlEncode(Eval("Description").ToString()) %>
<p>
<b>Price:</b>
<%# Eval("Price", "{0:c}") %>
</p>
<p>
<asp:Button ID="addToCartButton" runat="server" Text="Add to Basket" CommandArgument='<%# Eval("ProductID") %>' CssClass="SmallButtonText" />
</p>
</div>
</ItemTemplate>
</asp:DataList>
后面的代码:
// Retrieve the list of products in a Sub Category
list.DataSource = CatalogAccess.GetProductsInSubCategory(subCategoryId, page, out howManyPages);
list.DataBind();
例如如果数据库中的价格为 5 英镑,我需要将其在上面的数据列表中显示为 6 英镑,其中包括当前英国 20% 的增值税率。
所以: DBPrice * 1.2 = IncVatPrice
我希望这是有道理的!
提前致谢, 马特
【问题讨论】: