実際には、以下に示すようにカートテーブルから税金と合計にアクセスし、それらの値を内部テキストに割り当てて、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");
}