本文整理汇总了C#中INakedObject.IsNotPersistent方法的典型用法代码示例。如果您正苦于以下问题:C# INakedObject.IsNotPersistent方法的具体用法?C# INakedObject.IsNotPersistent怎么用?C# INakedObject.IsNotPersistent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类INakedObject
的用法示例。
在下文中一共展示了INakedObject.IsNotPersistent方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AppropriateView
internal ActionResult AppropriateView(ObjectAndControlData controlData, INakedObject nakedObject, INakedObjectAction action = null, string propertyName = null) {
if (nakedObject == null) {
// no object to go to
// if action on object go to that object.
// if action on collection go to collection
// if action on service go to last object
nakedObject = controlData.GetNakedObject();
if (nakedObject.Specification.IsService) {
object lastObject = Session.LastObject(ObjectCache.ObjectFlag.BreadCrumb);
if (lastObject == null) {
TempData[IdHelper.NofMessages] = NakedObjectsContext.MessageBroker.Messages;
TempData[IdHelper.NofWarnings] = NakedObjectsContext.MessageBroker.Warnings;
return RedirectToAction(IdHelper.IndexAction, IdHelper.HomeName);
}
nakedObject = FrameworkHelper.GetNakedObject(lastObject);
}
}
if (nakedObject.Specification.IsCollection && !nakedObject.Specification.IsParseable) {
var collection = nakedObject.GetAsQueryable();
int collectionSize = collection.Count();
if (collectionSize == 1) {
// remove any paging data - to catch case where custom page has embedded standalone collection as paging data will confuse rendering
ViewData.Remove(IdHelper.PagingData);
return View("ObjectView", collection.First());
}
nakedObject = Page(nakedObject, collectionSize, controlData, nakedObject.IsNotQueryable());
action = action ?? ((CollectionMemento)nakedObject.Oid).Action;
int page, pageSize;
CurrentlyPaging(controlData, collectionSize, out page, out pageSize);
var format = ViewData["NofCollectionFormat"] as string;
return View("StandaloneTable", ActionResultModel.Create(action, nakedObject, page, pageSize, format));
}
// remove any paging data - to catch case where custom page has embedded standalone collection as paging data will confuse rendering
ViewData.Remove(IdHelper.PagingData);
if (controlData.DataDict.Values.Contains("max")) {
// maximizing an inline object - do not update history
ViewData.Add("updateHistory", false);
}
return propertyName == null ? View(nakedObject.IsNotPersistent() ? "ObjectView" : "ViewNameSetAfterTransaction", nakedObject.Object) :
View(nakedObject.IsNotPersistent() ? "PropertyView" : "ViewNameSetAfterTransaction", new PropertyViewModel(nakedObject.Object, propertyName));
}
示例2: BuildViewContainer
internal static MvcHtmlString BuildViewContainer(this HtmlHelper html, INakedObject nakedObject, IEnumerable<ElementDescriptor> elements, string cls, string id, bool anyEditableFields) {
TagBuilder fieldSet = AddClassAndIdToElementSet(elements, cls, id);
if (nakedObject.IsNotPersistent()) {
fieldSet.InnerHtml += ElementDescriptor.BuildElementSet(html.EditObjectFields(nakedObject, null, x => false, null));
if (anyEditableFields && !nakedObject.Specification.IsAlwaysImmutable()) {
fieldSet.InnerHtml += GetSubmitButton(IdHelper.EditButtonClass, MvcUi.Edit, string.Empty, new RouteValueDictionary());
}
}
else {
fieldSet.InnerHtml += html.GetEditButtonIfRequired(anyEditableFields, nakedObject);
}
return MvcHtmlString.Create(fieldSet.ToString());
}