2

実際には、以下に示すようにカートテーブルから税金と合計にアクセスし、それらの値を内部テキストに割り当てて、aspxページのスパンに割り当てる必要があります。

ブレークポイントを使用してコードをデバッグしましたが、問題が複雑すぎます...--> bindtotal()メソッドのデバッグ時にマウスをポイントすると、innertext(割り当てられたテキスト)が正しく表示されることがわかりましたが、これは.aspxページにテキストが表示されない、、、 iは、aspxページのスパンテキストが割り当てられていても空のままであることを意味します。どうして ??????

.aspx

<b>subtotal:</b>
<span id="span_subtotal" runat="server"></span>                         
<br/>
<b>Total:</b>                           
<span id="span_granttotal" runat="server"></span>

.cs

これらのスパンの内部テキストは、以下のコードを実行するために空になっています............誰かがこれについて私を助けることができますか????????

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {            
        if (Session["cart_table"] == null)
        {
            DataTable dt = new Spcart().GetCart();
            Session["cart_table"] = dt;                  
        }
        BindCartListView();            
    }
}

public void bindtotal(int tax, int total)
{
    int ptax = 0;
    ptax = ptax + tax;

    int subtotal = 0;
    subtotal = subtotal + total;

    int granttotal = 0;
    granttotal = granttotal + ptax +subtotal;

    ///////////setting innertext///////////////////////

    span_subtotal.InnerText = subtotal.ToString();
    span_granttotal.InnerText = granttotal.ToString();
}

public void BindCartListView()
{                        
    DataTable producttable = new BALCate().GetProductDeatils(int.Parse(Request.QueryString["pid"].ToString()));
    DataTable carttable = (DataTable)Session["cart_table"];
    DataRow cartrow;
    DataRow productrow;

        cartrow = carttable.NewRow();
        productrow = producttable.Rows[0];
        cartrow["Pid"] = productrow["pid"];
        cartrow["PImage"] = productrow["pimg_mid1"];
        cartrow["Pprice"] = productrow["pcost"];
        cartrow["Pqty"] = int.Parse(Request.QueryString["qty"].ToString());                
        cartrow["Pname"] = productrow["pname"];
        cartrow["ptax"] = productrow["ptax"];
        cartrow["Total"] = int.Parse(productrow["pcost"].ToString()) * int.Parse(cartrow["Pqty"].ToString());  

        carttable.Rows.Add(cartrow);        

        int tax=int.Parse(cartrow["Ptax"].ToString());
        int total = int.Parse(cartrow["Total"].ToString());
        bindtotal(tax, total);        

 ListView_Cart.DataSource = carttable;
 ListView_Cart.DataBind();
 Response.Redirect("ShoppingCart.aspx");
}
4

1 に答える 1

1

Response.Redirect("ShoppingCart.aspx");メソッドの最後でa を実行している可能性がありますBindCartListView()

あなたが投稿したコード ビハインドがどのページのものかはわかりませんが、値を に保存するSessionか、クエリ文字列として送信して、ShoppingCart.aspxコード ビハインドに設定することができます。

QueryString 疑似コード:

Response.Redirect("ShoppingCart.aspx?subtotal=" + subtotal + "&granttotal=" + granttotal);

ShoppingCart.aspx.csコード ビハインド疑似コード:

// Provided you have these span elements in ShoppingCart.aspx.
span_subtotal.InnerText = Request.QueryString["subtotal"];
span_granttotal.InnerText = Request.QueryString["granttotal"];
于 2012-10-19T21:48:32.527 に答える