本文整理汇总了C#中TextManager.Get方法的典型用法代码示例。如果您正苦于以下问题:C# TextManager.Get方法的具体用法?C# TextManager.Get怎么用?C# TextManager.Get使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TextManager
的用法示例。
在下文中一共展示了TextManager.Get方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: LocalizeValidationException
public static string LocalizeValidationException(TextManager textManager, Exception ex, ModelMetadata metadata,
LocalizedValidationAttribute localizationInfo = null,
ValueProviderResult value = null)
{
string key;
var values = new Dictionary<string, object>();
values["Property"] = metadata.PropertyName;
if (!metadata.HideSurroundingHtml) //If this is true it is assumed that the model doesn't have a label
{
values["DisplayName"] = metadata.GetDisplayName();
}
var type = (Nullable.GetUnderlyingType(metadata.ModelType) ?? metadata.ModelType);
values["TypeKey"] = "Validation.Types." + (values["TypeName"] = type.Name);
values["CommonTypeKey"] = "Validation.Types." + (values["CommonTypeName"] = GetCommonTypeName(type));
var validationException = ex as ValidationException;
if (validationException != null)
{
values["Value"] = validationException.Value;
var attr = validationException.ValidationAttribute;
var attrType = attr.GetType();
key = attrType.Name.Replace("Attribute", "");
foreach (var prop in attrType.GetProperties())
{
values[prop.Name] = prop.GetValue(attr, null);
}
}
else
{
values["Value"] = value != null ? value.AttemptedValue : metadata.Model;
key = ex.GetType().Name;
}
var asm = metadata.ContainerType.Assembly;
string ns = asm != null ?
textManager.GetNamespace(metadata.ContainerType.Assembly) : null;
if (localizationInfo != null)
{
key = localizationInfo.Key;
ns = localizationInfo.Namespace ?? ns;
return textManager.Get(key, values, encode: false, ns: ns);
}
else
{
var keys =
LocalizingModelMetadataProvider.GetConventionKeyNames(metadata.ContainerType, metadata.PropertyName, true)
.Select(x => Tuple.Create(ns, x + "." + key))
.Concat(new [] {Tuple.Create(textManager.DefaultNamespace, "Validation." + key)});
foreach (var conventionKey in keys)
{
var text = textManager.Get(
ns: conventionKey.Item1,
key: conventionKey.Item2,
values: values,
returnNullOnMissing: true,
encode: false);
if (text != null)
{
return text;
}
}
}
return null;
}