e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
105 lines
3.5 KiB
C#
105 lines
3.5 KiB
C#
//------------------------------------------------------------------------------
|
|
// <copyright file="ErrorWebPart.cs" company="Microsoft">
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// </copyright>
|
|
//------------------------------------------------------------------------------
|
|
|
|
namespace System.Web.UI.WebControls.WebParts {
|
|
|
|
using System;
|
|
using System.Collections;
|
|
using System.ComponentModel;
|
|
using System.Drawing;
|
|
using System.Globalization;
|
|
using System.Web.UI;
|
|
using System.Web.UI.WebControls;
|
|
using System.Web.Util;
|
|
|
|
[
|
|
ToolboxItem(false)
|
|
]
|
|
public class ErrorWebPart : ProxyWebPart, ITrackingPersonalizable {
|
|
|
|
private string _errorMessage;
|
|
|
|
// No constructor that takes a WebPart, since we ony use the ErrorWebPart when the original
|
|
// WebPart could not be instantiated.
|
|
|
|
public ErrorWebPart(string originalID, string originalTypeName, string originalPath, string genericWebPartID) :
|
|
base(originalID, originalTypeName, originalPath, genericWebPartID) {
|
|
}
|
|
|
|
public string ErrorMessage {
|
|
get {
|
|
return (_errorMessage != null) ? _errorMessage : String.Empty;
|
|
}
|
|
set {
|
|
_errorMessage = value;
|
|
}
|
|
}
|
|
|
|
protected override void AddAttributesToRender(HtmlTextWriter writer) {
|
|
WebPartZoneBase zone = Zone;
|
|
if (zone != null && !zone.ErrorStyle.IsEmpty) {
|
|
zone.ErrorStyle.AddAttributesToRender(writer, this);
|
|
}
|
|
|
|
base.AddAttributesToRender(writer);
|
|
}
|
|
|
|
// Can be overridden by derived classes to set properties
|
|
protected virtual void EndLoadPersonalization() {
|
|
// We don't really need to set AllowEdit, since EditorPart.Display has
|
|
// a special case for ErrorWebPart. However, let's set it to false anyway
|
|
// for consistency.
|
|
AllowEdit = false;
|
|
|
|
// We want to force the user to see the ErrorWebPart, and we don't want to allow
|
|
// them to hide or minimize it.
|
|
ChromeState = PartChromeState.Normal;
|
|
Hidden = false;
|
|
AllowHide = false;
|
|
AllowMinimize = false;
|
|
|
|
// There is no reason to allow exporting an ErrorWebPart.
|
|
ExportMode = WebPartExportMode.None;
|
|
|
|
// We never call IsAuthorized() on ErrorWebParts, so there is no reason for
|
|
// AuthorizationFilter to be set.
|
|
AuthorizationFilter = String.Empty;
|
|
}
|
|
|
|
protected internal override void RenderContents(HtmlTextWriter writer) {
|
|
string errorMessage = ErrorMessage;
|
|
if (!String.IsNullOrEmpty(errorMessage)) {
|
|
writer.WriteEncodedText(SR.GetString(SR.ErrorWebPart_ErrorText, errorMessage));
|
|
}
|
|
}
|
|
|
|
#region ITrackingPersonalizable implementation
|
|
// It doesn't really matter what we return from this property, since this codepath will
|
|
// never be reached for the ErrorWebPart. However, we return true since we will never need
|
|
// the framework to diff our properties.
|
|
bool ITrackingPersonalizable.TracksChanges {
|
|
get {
|
|
return true;
|
|
}
|
|
}
|
|
|
|
void ITrackingPersonalizable.BeginLoad() {
|
|
}
|
|
|
|
void ITrackingPersonalizable.BeginSave() {
|
|
}
|
|
|
|
void ITrackingPersonalizable.EndLoad() {
|
|
EndLoadPersonalization();
|
|
}
|
|
|
|
void ITrackingPersonalizable.EndSave() {
|
|
}
|
|
#endregion
|
|
}
|
|
}
|
|
|