0

我有一个 shopping_cart.aspx.cs 文件,还有一个类文件 spcart.cs,

购物车.aspx.cs

public partial class Ui_ShoppingCart : System.Web.UI.Page
{
    public int tax = 0;   
    public int subtotal = 0;
    public int granttotal = 0;  

    protected void Page_Load(object sender, EventArgs e)
         {
             -------------------------/////some code
         }
   --------------------------------/////some code
}

spcart.cs

public class Spcart
    {     
        public void updatecart(int pid,int qty)
         {
             ---------/////some code
         }
    }

现在我想在class Ui_ShoppingCart类 Spcart 的变量 tax、subtoal 和 granttotals 中设置一些值,所以我尝试过-->

Ui_ShoppingCart.tax

但它没有工作............
有没有其他方法来设置这些变量???
谁能帮我解决这个问题???

4

2 回答 2

0

我觉得应该反过来

protected void Page_Load(object sender, EventArgs e)
{
   SpCart cart = new SpCart();
   cart.updateCart(124, 4);

   tax = cart.getComputedTax();
   subTotal = cart.getSubTotal();
   ...
}

这个想法是这些变量应该独立于您的 SpCart 代码。

public class Spcart
{     
     public void updatecart(int pid,int qty)
     {
         ---------/////some code
     }

     public int getComputedTax()
     {
       //can compute tax here
       int tax = whatever;
       return tax;
     }
}

计算逻辑仍然可以分成其他类

于 2012-10-22T21:23:46.650 回答
0

我认为您正在尝试从“Spcart”类访问“Ui_ShoppingCart”中声明的“税”属性。这是不可能的。相反,您必须将它们作为附加参数传递给 updatecart 方法。

Spcart cart = new Spcart();
cart.updatecart(pid,qty,tax);

或者如果在“spcart”类的其他方法中使用了tax,则在构造函数中对其进行初始化。

public class Spcart
{     
 private int _tax = 0;
 public Spcart(int tax)
 {
   _tax = tax;
 }
 public void updatecart(int pid,int qty)
 {
    int amount = qty + _tax;
 }
}

并调用使用

Spcart cart = new Spcart(tax);
cart.updatecart(pid,qty);
于 2012-10-22T21:24:21.930 回答