gpt4 book ai didi

javascript - jQuery MaskMoney 插件和字段类型 Decimal(SQL SERVER 表)出现问题

转载 作者:行者123 更新时间:2023-11-30 13:43:45 25 4
gpt4 key购买 nike

我正在使用 ASP.NET MVC 框架、jQuery 库 (1.3.2)、linq to sql、sql server 2005。

我在使用 jQuery MaskMoney 插件时遇到问题,无法将数据保存在 sql server 表中。

我创建了一个表,其中该表有一个字段“valueProducts”,类型为 Decimal(18,2)。

在我的页面中,我有一个带有 jQ​​uery maskmoney 的 html 字段。示例:10.000,00(万 (R$))。

当我保存这些数据时,出现了这个错误:“'MercanteWeb.Dados.MateriasPrimasEntradas' 类型的模型未成功更新。” (我使用 UpdateModel 来保存数据)。

我发现这个问题是由千位分隔符 (.) 引起的,如果我删除这个掩码插件,它就可以工作了。

有人可以帮助我吗?

谢谢。

最佳答案

我做到了。

上面回答的问题是在Linq to SQL数据映射中。money 或 smallmoney 类型的字段正在使用 decimal 类型进行映射。

我找到的解决方案是...

我不使用 UpdateModel 保存 View 的钱字段。

之前:

Check c = new Check();
this.UpdateModel(c, new[] { "number", "name", "value1", "value2" });

之后:

Check c = new Check();
this.UpdateModel(c, new[] { "number", "name" });
c.value1 = Convert.ToDecimal(f["value1"]);
c.value2 = Convert.ToDecimal(f["value2"]);

至此,该值已成功转换为十进制数据类型。

在 View 中,我使用了 Globalization 命名空间的对象。

//ViewPage
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>
<%@ Import Namespace="System.Globalization" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">

<%
NumberFormatInfo LocalFormat = (NumberFormatInfo)NumberFormatInfo.CurrentInfo.Clone();
LocalFormat.CurrencySymbol = "";

Check c = (Check)ViewData.Model;

%>

//In the field, I use de string format type currency and I passed the object of //CurrentSymbol
...
Value1:<br>
<%= Html.TextBox("value1", Convert.ToDouble(c.value1).ToString("C", LocalFormat))%>
....
</asp:Content>

谢谢你帮助我。

关于javascript - jQuery MaskMoney 插件和字段类型 Decimal(SQL SERVER 表)出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/757804/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com