我正在使用Razor作爲視圖引擎的ASP.NET MVC應用程序。我想在ASP.NET中的剃刀格式化值MVC
<div class="form-group">
<label class="control-label" for="price">Price</label>
<div class="input-group">
<div class="input-group-addon">$</div>
<input id="price" name="price" class="form-control" type="text" autocomplete="off" value="@Model.Price.ToString("G")" />
</div>
</div>
運行此代碼時,我得到一個錯誤,指出:
Cannot perform runtime binding on a null reference
如果我只用@Model.Price
取代@Model.Price.ToString("G")
,我的應用程序的作品。但是,十進制值格式不正確。價格變量來自我的控制器操作。在控制器中,我有:
public ActionResult View(int? id)
{
Product product = null;
if (id.HasValue)
product = Product.LoadFromDb(id.Value);
else
product = new Product();
// product.Price is a nullable decimal (i.e. decimal?)
return View(product);
}
如何在我的視圖中將價格格式化爲小數點後兩位?
謝謝!
不,它是引用不當,剃刀手柄那。 – Phaeze 2014-10-01 18:54:15
你確定它不是null?試試'@ Model.Price.Value.ToString(「G」)'也許? – PoweredByOrange 2014-10-01 18:54:37
@Phaeze正確,我的錯誤。 – 2014-10-01 18:55:00