本文整理汇总了C#中IObjectFacade.Resolve方法的典型用法代码示例。如果您正苦于以下问题:C# IObjectFacade.Resolve方法的具体用法?C# IObjectFacade.Resolve怎么用?C# IObjectFacade.Resolve使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IObjectFacade
的用法示例。
在下文中一共展示了IObjectFacade.Resolve方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetTextOrRefFieldValue
private static string GetTextOrRefFieldValue(this HtmlHelper html, PropertyContext propertyContext, IObjectFacade valueNakedObject, bool inTable = false) {
if (valueNakedObject.Specification.IsCollection) {
valueNakedObject.Resolve();
}
string link = "{0}";
if (!propertyContext.Property.Specification.IsParseable && !propertyContext.Property.IsCollection) {
string displayType = html.ViewData.ContainsKey(propertyContext.GetFieldId()) ? (string)html.ViewData[propertyContext.GetFieldId()] : String.Empty;
bool renderEagerly = RenderEagerly(propertyContext.Property);
link = html.ObjectLink(link, IdConstants.ViewAction, valueNakedObject.Object) + (inTable ? "" : html.GetObjectDisplayLinks(propertyContext));
if (displayType == IdConstants.MaxDisplayFormat || renderEagerly) {
var inlineNakedObject = propertyContext.GetValue(html.Facade());
bool anyEditableFields;
TagBuilder elementSet = ElementDescriptor.BuildElementSet(html.ViewObjectFields(inlineNakedObject, propertyContext, x => true, null, out anyEditableFields));
html.AddAjaxDataUrlsToElementSet(inlineNakedObject, elementSet, propertyContext);
elementSet.AddCssClass(IdConstants.FieldContainerName);
elementSet.GenerateId(html.IdHelper().GetFieldContainerId(inlineNakedObject));
link = link + html.GetEditButtonIfRequired(anyEditableFields, inlineNakedObject) + elementSet;
}
}
string title = html.GetDisplayTitle(propertyContext.Property, valueNakedObject);
if (propertyContext.Property.NumberOfLines > 1) {
int typicalLength = propertyContext.Property.TypicalLength;
int width = propertyContext.Property.Width;
typicalLength = typicalLength == 0 ? 20 : typicalLength;
width = width == 0 ? typicalLength : width;
if (inTable) {
// truncate to width
if (title.Length > width) {
const string elipsis = "...";
int length = width - elipsis.Length;
title = title.Substring(0, length > 0 ? length : 1) + elipsis;
}
}
}
return String.Format(link, title);
}