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 回答