MVC3 Razor Html.TextBoxFor计算字段

时间:2011-07-09 07:22:53

标签: jquery asp.net-mvc-3 razor

最终我想计算一些像Weight * Price这样的字段。

假设我的MVC3视图中有:

    @Html.TextBoxFor(modelItem => item.Package.USDKg)
    @Html.HiddenFor(modelItem => item.Pricing.VolumePrice)

我可以直接计算这些吗?还是诉诸JQuery? 如果可能的话,我真的希望在源视图中保持定价“隐藏”。

基本上,当用户输入其包装重量时,将显示价格(根据隐藏价格点值计算)。

感谢您的指导。

2 个答案:

答案 0 :(得分:2)

有了剃须刀,你可以在标记内做一个逻辑!

@{
   var value = model.Item.Value;
   var price = model.Item.Proce;
   var calculated = value * price;
}

<div class="price>Your price: @calculated</div>

更多信息在这里:

http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx

答案 1 :(得分:1)

是的,你可以这样做:

function calculate(){
   var weight = parseFloat($("#Package_USDKg").val());
   var price = parseFloat($("#Pricing_VolumePrice").val());
   var calculus = weight * price;
   $("#calculus").text(calculus); //This shows the calculated field
}

$(document).ready(function(){
  calculate(); //Calculate on page load
  $("#Package_USDKg").change(calculate);  //Calculate every time weight changes
});

我假设您有一个id="calculus"的div来显示计算字段。

希望这会有所帮助。干杯