カスタムの@Html.LabelFor()および@ html.DescriptionFor()ヘルパーを作成する回避策があります。
私のヘルパー:
namespace MyCMS.Helpers
{
public static class Html
{
public static MvcHtmlString DescriptionFor<TModel, TValue>(
this HtmlHelper<TModel> self,
Expression<Func<TModel, TValue>> expression)
{
var metadata = ModelMetadata.FromLambdaExpression(expression, self.ViewData);
var description = Localizer.Translate(metadata.Description);
return MvcHtmlString.Create(string.Format(@"<span class=""help-block"">{0}</span>", description));
}
public static MvcHtmlString LabelFor<TModel, TValue>(
this HtmlHelper<TModel> self,
Expression<Func<TModel, TValue>> expression,
bool showToolTip
)
{
var metadata = ModelMetadata.FromLambdaExpression(expression, self.ViewData);
var name = Localizer.Translate(metadata.DisplayName);
return MvcHtmlString.Create(string.Format(@"<label for=""{0}"">{1}</label>", metadata.PropertyName, name));
}
}
}
私の見解は:
@using MyCMS.Localization; @using MyCMS.Helpers;
<div class="clearfix ">
@Html.LabelFor(model => model.RecordDetails.TitleAlternative)
<div class="input">
@Html.TextBoxFor(model => model.RecordDetails.TitleAlternative, new { @class = "xxlarge" })
@Html.ValidationMessageFor(model => model.RecordDetails.TitleAlternative)
@Html.DescriptionFor(model => model.RecordDetails.TitleAlternative)
</div>
</div>
そして私は私のローカリゼーションアプローチを使うことができます:)
みんなありがとう...