gpt4 book ai didi

c# - ASP.Net MVC3 通过或不通过 Visual Studio 修改日期和小数的文化?

转载 作者:太空狗 更新时间:2023-10-29 17:48:40 24 4
gpt4 key购买 nike

我正在使用 Razor 开发 MVC3 应用程序。我在使用 Dates 时遇到问题,并且在我的 View 中加倍。我的 Windows 和 Visual Studio 都是英文的,但我想在“it-IT”中自定义我的项目的文化。我找到了几篇如何管理不同文化的文章,通过 JQuery Validation Plugin 或直接在页面上设置文化,但我很困惑!!!我想用于日期的格式是“DD/MM/YYYY”,而 double 格式是 1.234,32。所以,

  • 我如何告诉 Visual Studio 如何使用这些格式(我检查了 Visual Studio 的设置,但只有英语)?
  • MVC 注入(inject)代码来验证我的字段,如何更改它?
  • 什么是最好的方法?

显然,我们将不胜感激任何建议。我发布我的项目代码:

Offerta.cs

[MetadataType(typeof(Offerta_Validation))]
public partial class Offerta
{
}

public class Offerta_Validation
{
[HiddenInput(DisplayValue = false)]
public int IDOfferta { get; set; }

[StringLength(300, ErrorMessage = "Campo troppo lungo")]
[Required(ErrorMessage = "Campo obbligatorio")]
public string Titolo { get; set; }

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:N2}")]
[Required(ErrorMessage = "Campo obbligatorio")]
[Price(MinPrice=0.01)]
public decimal PrezzoIniziale { get; set; }

[Required(ErrorMessage = "Campo obbligatorio")]
[Integer]
public int BuoniScontiMinimo { get; set; }


public string Sconto { get; set; }

[Date]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:d}")]
public System.DateTime DataAttivazione { get; set; }

[DataType(DataType.MultilineText)]
[AllowHtml]
public string Sintesi { get; set; }

[DataType(DataType.MultilineText)]
[Required(ErrorMessage = "Inserire le condizioni")]
[AllowHtml]
public string Condizioni { get; set; }

[DataType(DataType.MultilineText)]
[Required(ErrorMessage = "Inserire la descrizione")]
[AllowHtml]
public string Descrizione { get; set; }
}

“PrezzoIniziale”字段是 DB 上的 double 值。注释 [Price] 由这篇文章派生 http://haacked.com/archive/2009/11/19/aspnetmvc2-custom-validation.aspx .这是我的观点:

@model ManagerEmail.Models.OffertaFormViewModel

<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 type="text/javascript" src="@Url.Content("~/Scripts/jquery.global.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery.glob.it-IT.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/tiny_mce/tiny_mce.js")"></script>
<script type="text/javascript">
tinyMCE.init({
// General options
mode: "textareas",
theme: "advanced",
plugins: "style,searchreplace,paste",

theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect",
theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,forecolor,backcolor,|,styleprops",
theme_advanced_buttons3 : "hr,removeformat,visualaid,|,sub,sup,|,charmap,|,link,unlink,anchor,image,cleanup,help,code",
theme_advanced_toolbar_location: "top",
theme_advanced_toolbar_align: "left",
theme_advanced_statusbar_location : "bottom",

// Skin options
skin : "o2k7",
skin_variant : "silver",

width: "510",
height: "300",
object_resizing: false,

});
</script>

@using (Html.BeginForm(null, null, FormMethod.Post, new { id = "editForm" })){
@Html.ValidationSummary(true)
<fieldset>
<legend></legend>

<ul>
<li>
@Html.LabelFor(model => model.Offerta.Titolo)
@Html.EditorFor(model => model.Offerta.Titolo) <br />
@Html.ValidationMessageFor(model => model.Offerta.Titolo)
</li>
<li>
@Html.LabelFor(model => model.Offerta.PrezzoIniziale, "Prezzo iniziale")
@Html.EditorFor(model => model.Offerta.PrezzoIniziale) <br />
@Html.ValidationMessageFor(model => model.Offerta.PrezzoIniziale)
</li>
<li>
@Html.LabelFor(model => model.Offerta.BuoniScontiMinimo, "Minimo Buoni")
@Html.EditorFor(model => model.Offerta.BuoniScontiMinimo) <br />
@Html.ValidationMessageFor(model => model.Offerta.BuoniScontiMinimo)
</li>
<li>
@Html.LabelFor(model => model.Offerta.Sconto)
@Html.EditorFor(model => model.Offerta.Sconto) <br />
@Html.ValidationMessageFor(model => model.Offerta.Sconto)
</li>
<li>
@Html.LabelFor(model => model.Offerta.DataAttivazione, "Data Attivazione")
@Html.EditorFor(model => model.Offerta.DataAttivazione) <br />
@Html.ValidationMessageFor(model => model.Offerta.DataAttivazione)
</li>
<li>
<label for="ddlAffiliato">Affiliato</label>
@Html.DropDownListFor(model => model.Offerta.Affiliato.IDAffiliato, new SelectList(Model.Affiliati, "IDAffiliato", "RagioneSociale"), new { @id = "ddlAffiliato"} )
</li>
<li>
@Html.LabelFor(model => model.Offerta.Condizioni) <br />
@Html.TextAreaFor(model => model.Offerta.Condizioni) <br />
@Html.ValidationMessageFor(model => model.Offerta.Condizioni, "", new { style = "top: -30px; left: 210px" })
</li>
<li>
@Html.LabelFor(model => model.Offerta.Sintesi) <br />
@Html.TextAreaFor(model => model.Offerta.Sintesi) <br />
@Html.ValidationMessageFor(model => model.Offerta.Sintesi)
</li>
<li>
@Html.LabelFor(model => model.Offerta.Descrizione) <br />
@Html.TextAreaFor(model => model.Offerta.Descrizione) <br />
@Html.ValidationMessageFor(model => model.Offerta.Descrizione, "", new { style = "top: -30px; left: 210px" })
</li>
</ul>
@Html.HiddenFor(model => model.Provincia.IDProvincia)
</fieldset>
<p>
@Html.AntiForgeryToken()
<input type="submit" value="Salva" id="submitButton"/>
</p>
}

<script type="text/javascript">

$("#Offerta_PrezzoIniziale").removeAttr("data-val-number"); //I forced this because MVC adds the data-val-number, so it doesn't accept double values :(

$(function () {
jQuery.global.preferCulture("it-IT");
});

$("#submitButton").click(function () {
tinyMCE.triggerSave();
});


</script>
<script type="text/javascript">
$(function () {
jQuery.validator.addMethod("price", function (value, element, params) {
if (this.optional(element)) {
return true;
}

if (value > params.min) {
var cents = value - Math.floor(value);
if (cents >= 0.99 && cents < 0.995) {
return true;
}
}

return false;
});
});
</script>

这是我的 FormViewModel

public class OffertaFormViewModel
{
public Provincia Provincia { get; set; }
public Offerta Offerta { get; set; }
public IEnumerable<Affiliato> Affiliati { get; set; }
}

谢谢!

最佳答案

是否添加

<globalization culture="it-IT"/>

在 system.web 部分下的 web.config 中,执行此操作?

编辑:

添加相关的 MSDN 链接 http://msdn.microsoft.com/en-us/library/bz9tc508.aspx

关于c# - ASP.Net MVC3 通过或不通过 Visual Studio 修改日期和小数的文化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5744417/

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