在我的项目中,我想向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端。
答案 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 中设置属性值都是完全失败的,需要重新考虑。