无法显示变量html端

时间:2013-01-03 00:05:12

标签: c# asp.net webforms

在我的项目中,我想向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端。

2 个答案:

答案 0 :(得分: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();

答案 1 :(得分: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片段的设定值AND,我不确定您要做什么。 无论哪种方式,使用查询字符串调用在setter 中设置属性值都是完全失败的,需要重新考虑。