Попробуйте следующее:
web.config:
<system.web>
<globalization culture="en-US" uiCulture="en-US" />
</system.web>
Вы также можете применить это для представления, в котором вы хотите принудительно этот параметр:
<%@ Page="" UICulture="en-US" Culture="en-US" %>
В качестве альтернативы вы можете переопределить поведение TextBoxFor по умолчанию, используя собственный вспомогательный метод. Я использовал аналогичный для DropDownListFor в некоторых своих проектах, как показано ниже:
Вспомогательный метод:
public static class MyHelpers
{
//Custom HTML Helper method used for setting "class" and disabled attributes of MyDropdownlist
public class MySelectItem : SelectListItem
{
/* Since you are passing this data using ViewData, you don't have a limitation and
you can put anything there. I advise that you use ViewBag instead of ViewData. */
public string Class { get; set; }
public string Disabled { get; set; }
}
public static MvcHtmlString MyDropdownListFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression, IEnumerable<MySelectItem> list, string optionLabel, object htmlAttributes)
{
return MyDropdownList(htmlHelper, ExpressionHelper.GetExpressionText(expression), list, optionLabel, HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes));
}
public static MvcHtmlString MyDropdownList(this HtmlHelper htmlHelper, string name, IEnumerable<MySelectItem> list, string optionLabel, IDictionary<string, object> htmlAttributes)
{
TagBuilder dropdown = new TagBuilder("select");
dropdown.Attributes.Add("name", name);
dropdown.Attributes.Add("id", name);
StringBuilder options = new StringBuilder();
// Make optionLabel the first item that gets rendered.
if (optionLabel != null)
options = options.Append("<option value='" + String.Empty + "'>" + optionLabel + "</option>");
foreach (var item in list)
{
if(item.Disabled == "disabled")
options = options.Append("<option value='" + item.Value + "' class='" + item.Class + "' disabled='" + item.Disabled + "'>" + item.Text + "</option>");
else
options = options.Append("<option value='" + item.Value + "' class='" + item.Class + "'>" + item.Text + "</option>");
}
dropdown.InnerHtml = options.ToString();
dropdown.MergeAttributes(new RouteValueDictionary(htmlAttributes));
return MvcHtmlString.Create(dropdown.ToString(TagRenderMode.Normal));
}
}