如何使用Vue.js将十进制值从视图传递到控制器?

时间:2018-11-15 13:29:02

标签: html asp.net-mvc vue.js

我正在尝试使用Vue.js将值从视图传递到控制器,但是我只遇到了十进制值的问题。当我输入十进制值并将其发布到控制器时,它到达NULL。

注意:仅对于十进制值,可以使用整数或字符串值。

这是我的代码:

salvarProdutos: function () {
            load();
            this.$http.post(urlInit + '/Quotation/updateInfoComercial/', {
                RefCotacao: this.refCotacao,
                //InformaçoesComerciais//
                Qtd: this.quantidade,
                UnidadeMedida: this.unidadeMedida,
                ValorUnitario: this.valorUnitarioProduto,
                LoteMinimo: this.loteMinimo,
                PrazoEntrega: this.prazoEntrega,
                PorcentagemMaxVariacao: this.porcentagemVariacao
                //--------------------------//
            }).then((response) => {
                unload();
                if (response.data.worked) {
                    alert("Dados salvos com sucesso!");
                }
                else {
                    alert("Erro - Tente novamente mais tarde.");
                }
            });
        }
                            <div class="col-md-6">
                                <div class="form-group label-floating">
                                    <label class="control-label" for="porcentagemVariacao">
                                        Porcentagem máxima de variação
                                    </label>
                                    <div class="input-group">
                                        <div class="input-group-prepend">
                                            <span class="input-group-text">%</span>
                                        </div>
                                        <input type="number" min="1" step="0.1" class="form-control" id="porcentagemVariacao" v-model="porcentagemVariacao" required>
                                        <span class="material-input"></span>
                                    </div>
                                </div>
                            </div>

这是我的控制人:

    [HttpPost]
    public ActionResult updateInfoComercial(string refCotacao, InformacoesComerciais infoCF, string form)
    {
        var partNumber = infoCF.PartNumber;
        var porcentagem = infoCF.PorcentagemMaxVariacao;

        var message = "";

        message = "OK";
        return Json(new { message = message }, JsonRequestBehavior.AllowGet);
    }

这是我的模特:

public partial class InformacoesComerciais
{
    public InformacoesComerciais() { }

    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    //public int ID { get; set; }

    public decimal? Qtd { get; set; }

    [StringLength(8)]
    public string UnidadeMedida { get; set; }

    [Key]
    [Column(Order = 1)]
    [StringLength(20)]
    public string RefCotacao { get; set; }

    public decimal? ValorUnitario { get; set; }

    public decimal? LoteMinimo { get; set; }

    public decimal? PorcentagemMaxVariacao { get; set; }

    //[Column(TypeName = "date")]
    public string PrazoEntrega { get; set; }

}

1 个答案:

答案 0 :(得分:0)

我在Web.config中更改了<globalization>标签,并且可以正常工作:

之前:

<globalization culture="pt-BR" uiCulture="pt-BR" />

之后:

<globalization culture="en-US" uiCulture="en-US" />

谢谢。