C# 返回带小数的编辑器字段时出错

C# 返回带小数的编辑器字段时出错,c#,asp.net-mvc-3,C#,Asp.net Mvc 3,当我发回下面的字段时,我遇到了这个错误:无法将“System.Decimal”类型的对象强制转换为“System.String”类型 作为表单一部分的字段: <div class="editor-label"> @Html.LabelFor(model => model.Donation.Amount) </div> <div class="editor-field"> @Html.Text

当我发回下面的字段时,我遇到了这个错误:无法将“System.Decimal”类型的对象强制转换为“System.String”类型

作为表单一部分的字段:

<div class="editor-label">
        @Html.LabelFor(model => model.Donation.Amount)
    </div>    
    <div class="editor-field">
            @Html.TextBox("Amount", string.Format("{0:f2}", Model.Donation.Amount))
    <!--  @Html.EditorFor(model => model.Donation.Amount) -->
        @Html.ValidationMessageFor(model => model.Donation.Amount)
    </div>

    <div class="editor-label">
        @Html.LabelFor(model => model.Pledge.PledgeTotal)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.Pledge.PledgeTotal)
        @Html.ValidationMessageFor(model => model.Pledge.PledgeTotal)
    </div>

@LabelFor(model=>model.generation.Amount)
@TextBox(“Amount”,string.Format(“{0:f2}”,Model.generation.Amount))
@Html.ValidationMessageFor(model=>model.generation.Amount)
@LabelFor(model=>model.质押.质押总计)
@EditorFor(model=>model.质押.质押总计)
@Html.ValidationMessageFor(model=>model.质押.质押总计)
这两个都是模型中的十进制属性。。。那么,它是否试图以字符串形式发回?那么,在回发之前,如何将其转换回十进制?有什么想法吗?谢谢。

试试这个:

在视图模型中:

[DisplayFormat(DataFormatString = "{0:F2}", ApplyFormatInEditMode = true)]
public decimal Amount { get; set; }
在你看来:

@Html.EditorFor(model => model.Donation.Amount)

我们能看看你的行动方法吗?我错了。。。见底部注释