相关疑难解决方法(0)

我应该如何在MVC中使用EditorFor()获取货币/货币类型?

在我看来,我有以下电话.

<%= Html.EditorFor(x => x.Cost) %>
Run Code Online (Sandbox Code Playgroud)

我有一个带有以下代码的ViewModel来定义Cost.

public decimal Cost { get; set; }
Run Code Online (Sandbox Code Playgroud)

但是,这会显示十进制值,小数点后有四位数(例如0.0000).我知道Decimal.toString("G")(MSDN)似乎解决了这个问题,但我不确定在哪里应用它.

一个解决方案似乎是创建一个局部视图"Currency.aspx".

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Decimal>" %>
<%= Html.TextBox(Model.ToString("g"), new { @class = "currency" }) %>
Run Code Online (Sandbox Code Playgroud)

并且[UIHint("Currency")]在我的视图模型.

这似乎不优雅.我认为这个问题已经在MVC框架或C#中的某个地方得到了解决,但我不知道更清洁的解决方案.

在MVC中处理编辑货币值的适当方法是什么?

c# asp.net-mvc currency

18
推荐指数
1
解决办法
3万
查看次数

MVC3 - 类型为double的3个小数位,前导零

我有一个体重为Kgs的字段(类型为double或使用其他东西?).在编辑视图中,我希望用户输入数字到千分之一.在显示视图中,我希望Kgs看起来像560.250

试着学习MVC3 + Razor.愿意探索JQuery,使用正则表达式,验证器,视图模板,查看模型......

基于约定的MVC的"魔力"需要习惯.对于使用哪种方法感到困惑.

预先感谢您的帮助.

asp.net-mvc-3

14
推荐指数
1
解决办法
3万
查看次数

Fluent Validation不接受带有千位分隔符的数字

我有一个使用Fluent Validation for MVC 5的ASP.NET MVC 5项目.我还使用jQuery masking插件自动添加数千个双值.

在模型中我有:

    [Display(Name = "Turnover")]
    [DisplayFormat(ApplyFormatInEditMode = true,ConvertEmptyStringToNull =true,DataFormatString ="#,##0")]
    public double? Turnover { get; set; }
Run Code Online (Sandbox Code Playgroud)

在视图中我有:

<th class="col-xs-2">
    @Html.DisplayNameFor(model=>model.Turnover)
</th>
<td class="col-xs-4">
    @Html.TextBoxFor(model => model.Turnover, new { @class = "form-control number", placeholder="Enter number. Thousands added automatically" })
</td>
<td class="col-xs-6">
    @Html.ValidationMessageFor(model => model.Turnover, "", new { @class = "text-danger" })
</td>
Run Code Online (Sandbox Code Playgroud)

为包含模型定义了一个流畅的验证器,但它不包含任何规则.我只使用服务器端验证.

public class MyModelValidator: AbstractValidator<MyModel>
{
    public MyModelValidator()
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,我得到了营业额的验证错误如下: 在此输入图像描述

我尝试使用模型绑定来解决这个问题.但是模型绑定器的断点永远不会受到打击 - 流畅的验证似乎阻止了达到模型绑定器的价值.

c# asp.net-mvc fluentvalidation

11
推荐指数
1
解决办法
1110
查看次数

ASP.NET MVC 4不适用于jquery datepicker

我是asp.net jquery和html5的初学者,我正在开发一个asp.net mvc 4网站,我有一个带有两个Date字段的表单.我不想手动插入日期,所以我尝试使用此解决方案来实现一个简单的datepicker:

     <fieldset>
    <legend>RangeDateViewModel</legend>
    <div class="editor-label">
        Start Date
    </div>
    <div class="editor-field">
        @Html.TextBoxFor(model => model.StartDate,  new{ @class = "date" })
        @Html.ValidationMessageFor(model => model.StartDate)
    </div>

    <div class="editor-label">
        End Date
    </div>
    <div class="editor-field">
        @Html.TextBoxFor(model => model.EndDate,  new{ @class = "date" })
        @Html.ValidationMessageFor(model => model.EndDate)
        </div>

        <p>
            <input type="submit" value="Create" />
        </p>
    </fieldset>


   }

<div>
    @Html.ActionLink("Back to List", "Index")
</div>

@section Scripts {
@Scripts.Render("~/bundles/jqueryval")

@Scripts.Render("~/bundles/jqueryui")
@Styles.Render("~/Content/themes/base/css")

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui-1.8.11.min.js")" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function () …
Run Code Online (Sandbox Code Playgroud)

asp.net jquery jquery-ui asp.net-mvc-4

2
推荐指数
1
解决办法
1万
查看次数