0

私のプロジェクトでは、html 側に変数を表示したいのですが、このメッセージが表示されます。

私のコードビハインド

   ShipperResposite _shiperResposite = new ShipperResposite();

    public decimal Price
    {
        get { return Price; }
        set
        {
            Price=_shiperResposite.GetPriceFromID(Convert.ToInt32(Request.QueryString["ID"]));
            Price = value;
        }
    }

私のHTML側

 <div class="prod_price_big"><span class="reduce">350$</span><%=Price %><span class="price"> </span></div>

html側に価格を表示したい。

4

2 に答える 2

1

使用するasp:Label

html

<div class="prod_price_big">
   <span class="reduce">350$</span>
   <asp:Label runat="server" ID="PriceLabel" CssClass="price"></asp:Label>
</div>

コードビハインド

PriceLabel.Text = this.Price.ToString();
于 2013-01-03T00:16:25.910 に答える
0
 public decimal Price
    {
        get { return Price; }
        set
        {
            Price=_shiperResposite.GetPriceFromID(Convert.ToInt32(Request.QueryString["ID"]));
            Price = value;
        }
    }

そのコード ブロックは、スタック オーバーフローを引き起こす非常に大きな問題です。

Priceあなたのプロパティの名前です。set メソッド内で最初に発生するのは、プロパティに何らかの値を設定することです。これにより、set メソッドが何度も何度も実行されます... 非常に不可解なエラー メッセージでアプリが完全にクレーターになるまで。

これは実際には次のようになります。

 private decimal _price = 0.00M;

 public decimal Price
    {
        get { return _price; }
        set
        {
        _price = value;
        }
    }

その部分を削除したことに注意してくださいPrice = shiperResposite...;。価格を設定値と GetPriceFromID ピースの両方に設定して、何をしようとしていたのかわかりません。いずれにせよ、クエリ文字列呼び出しを使用してセッター内でプロパティ値を設定することは完全な失敗であり、再考する必要があります。

于 2013-01-03T01:56:32.193 に答える