我有两个问题围绕十进制文本框并将正确的值提交给报告。这是带有 Razor 的 MVC 3 C#。
我的用户想要针对特定价格范围、起始价格范围和结束价格范围运行报告。两者都是模型中定义的具有十进制数据类型的文本框。它们也是可选的,因为用户可以选择其他一些参数,但我在使用十进制类型时遇到了问题。当视图加载和通过清除按钮重置时,两个文本框默认为 0。当视图加载和重置时,我需要它有一个默认值空白。我在视图中设置了以下内容,它可以很好地显示空白字段。
@Html.TextBoxFor(m => m.PriceRangeStart, new { @Value = (Model.PriceRangeStart > 0 ? Model.PriceRangeStart : 0) })
但是,唯一的问题是,当我尝试运行报告时它仍在寻找一个值,并在不需要运行报告时为用户提供“需要参数”。有没有办法在幕后也传递一个空值甚至是 0?
我不停地用谷歌搜索并尝试了模型中的几个默认值选项,但根本没有任何效果。我在视图中尝试了占位符。我试过 HiddenFor 字段。我尝试了以下默认值:
public SellerActivityReport()
{
decimal? a = null;
PriceRangeStart = a.GetValueOrDefault(0m);
PriceRangeEnd = a.GetValueOrDefault(0m);
}
我真的不想返回并更改所有这些以仅在不需要时才接受字符串!如果这是可能的,那就完全卡住了。