LoginStatusDesigner 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在可视化设计器中为 LoginStatus Web 服务器控件提供设计时支持。
public ref class LoginStatusDesigner : System::Web::UI::Design::WebControls::CompositeControlDesigner
public class LoginStatusDesigner : System.Web.UI.Design.WebControls.CompositeControlDesigner
type LoginStatusDesigner = class
inherit CompositeControlDesigner
Public Class LoginStatusDesigner
Inherits CompositeControlDesigner
- 继承
-
LoginStatusDesigner
示例
下面的代码示例演示如何扩展 LoginStatusDesigner 类,以在设计时更改派生自 控件的 LoginStatus 控件的外观。
该示例从 LoginStatus派生MyLoginStatus
控件。
MyLoginStatus
是 控件的副本LoginStatus。 该示例还从 LoginStatusDesigner派生MyLoginStatusDesigner
类,然后对 MyLoginStatus
MyLoginStatusDesigner
控件应用 DesignerAttribute 属性。
MyLoginStatusDesigner
重写 方法,GetDesignTimeHtml以在 控件周围绘制蓝色虚线边框,使其更可见(如果 BorderStyle 的 MyLoginStatus
属性为 NotSet 或 None 值)。
using System;
using System.Web;
using System.Drawing;
using System.Web.UI.WebControls;
using System.Web.UI.Design.WebControls;
using System.Collections;
using System.ComponentModel;
using System.Security.Permissions;
using System.IO;
namespace Examples.CS.WebControls.Design
{
// The MyLoginStatus is a copy of the LoginStatus.
[AspNetHostingPermission(SecurityAction.Demand,
Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand,
Level = AspNetHostingPermissionLevel.Minimal)]
[Designer(typeof(Examples.CS.WebControls.Design.MyLoginStatusDesigner))]
public class MyLoginStatus : LoginStatus
{
} // MyLoginStatus
// Override members of the LoginStatusDesigner.
public class MyLoginStatusDesigner : LoginStatusDesigner
{
// Generate the design-time markup.
public override string GetDesignTimeHtml()
{
// Make the control more visible in the designer. If the border
// style is None or NotSet, change the border to a blue dashed line.
MyLoginStatus myLoginStatusCtl = (MyLoginStatus)ViewControl;
string markup = null;
// Check if the border style should be changed.
if (myLoginStatusCtl.BorderStyle == BorderStyle.NotSet ||
myLoginStatusCtl.BorderStyle == BorderStyle.None)
{
BorderStyle oldBorderStyle = myLoginStatusCtl.BorderStyle;
Color oldBorderColor = myLoginStatusCtl.BorderColor;
// Set the design time properties and catch any exceptions.
try
{
myLoginStatusCtl.BorderStyle = BorderStyle.Dashed;
myLoginStatusCtl.BorderColor = Color.Blue;
// Call the base method to generate the markup.
markup = base.GetDesignTimeHtml();
}
catch (Exception ex)
{
markup = GetErrorDesignTimeHtml(ex);
}
finally
{
// It is not necessary to restore the border properties
// to their original values because the ViewControl
// was used to reference the associated control and the
// UsePreviewControl was not overridden.
// myLoginCtl.BorderStyle = oldBorderStyle;
// myLoginCtl.BorderColor = oldBorderColor;
}
}
else
{
// Call the base method to generate the markup.
markup = base.GetDesignTimeHtml();
}
return markup;
} // GetDesignTimeHtml
} // MyLoginStatusDesigner
} // Examples.CS.WebControls.Design
Imports System.Web
Imports System.Drawing
Imports System.Web.UI.WebControls
Imports System.Web.UI.Design.WebControls
Imports System.Collections
Imports System.ComponentModel
Imports System.Security.Permissions
Namespace Examples.VB.WebControls.Design
' The MyLoginStatus is a copy of the LoginStatus.
<AspNetHostingPermission(SecurityAction.Demand, _
Level:=AspNetHostingPermissionLevel.Minimal)> _
<AspNetHostingPermission(SecurityAction.InheritanceDemand, _
Level:=AspNetHostingPermissionLevel.Minimal)> _
<Designer(GetType(Examples.VB.WebControls.Design.MyLoginStatusDesigner))> _
Public Class MyLoginStatus
Inherits LoginStatus
End Class
' Override members of the LoginStatusDesigner.
Public Class MyLoginStatusDesigner
Inherits LoginStatusDesigner
' Generate the design-time markup.
Public Overrides Function GetDesignTimeHtml() As String
' Make the control more visible in the designer. If the border
' style is None or NotSet, change the border to a blue dashed line.
Dim myLoginStatusCtl As MyLoginStatus = _
CType(ViewControl, MyLoginStatus)
Dim markup As String = Nothing
' Check if the border style should be changed.
If (myLoginStatusCtl.BorderStyle = BorderStyle.NotSet Or _
myLoginStatusCtl.BorderStyle = BorderStyle.None) Then
Dim oldBorderStyle As BorderStyle = myLoginStatusCtl.BorderStyle
Dim oldBorderColor As Color = myLoginStatusCtl.BorderColor
' Set the design time properties and catch any exceptions.
Try
myLoginStatusCtl.BorderStyle = BorderStyle.Dashed
myLoginStatusCtl.BorderColor = Color.Blue
' Call the base method to generate the markup.
markup = MyBase.GetDesignTimeHtml()
Catch ex As Exception
markup = GetErrorDesignTimeHtml(ex)
Finally
' It is not necessary to restore the border properties
' to their original values because the ViewControl
' was used to reference the associated control and the
' UsePreviewControl was not overridden.
' myLoginCtl.BorderStyle = oldBorderStyle
' myLoginCtl.BorderColor = oldBorderColor
End Try
Else
' Call the base method to generate the markup.
markup = MyBase.GetDesignTimeHtml()
End If
Return markup
End Function ' GetDesignTimeHtml
End Class
End Namespace ' Examples.VB.WebControls.Design
注解
控件 LoginStatus 呈现一个按钮,该按钮会自动检查用户的身份验证状态,并显示相应的登录或注销选项。
在可视化设计器中,从“源”视图切换到“设计”视图时,将分析描述控件的 LoginStatus 标记源代码,并在设计图面上创建控件的设计时版本。 切换回源视图时,设计时控件将保留到标记源代码中,并编辑到网页的标记中。 类 LoginStatusDesigner 为 控件提供设计时支持 LoginStatus 。
属性 ActionLists 返回 一个 DesignerActionListCollection 对象,该对象通常包含从 DesignerActionList 设计器继承树中每个级别的 类派生的对象。 属性 UsePreviewControl 始终返回 true
,指示设计器创建关联的 LoginStatus 的临时副本以生成设计时标记,因为用户身份验证状态在设计时不可用。
方法 GetDesignTimeHtml 返回用于在设计时呈现关联的 LoginStatus 的标记。 方法 Initialize 使设计器准备好查看、编辑和设计关联的 LoginStatus。
构造函数
LoginStatusDesigner() |
初始化 LoginStatusDesigner 类的新实例。 |
属性
ActionLists |
获取此设计器的设计器操作列表集合。 |
AllowResize |
获取一个值,该值指示是否可以在设计时环境中调整控件的大小。 (继承自 ControlDesigner) |
AssociatedComponents |
获取与设计器所管理的组件关联的组件集合。 (继承自 ComponentDesigner) |
AutoFormats |
获取预定义自动格式设置方案的集合,这些方案将在设计时显示于关联控件的“自动套用格式”对话框中。 (继承自 ControlDesigner) |
Behavior |
已过时.
获取或设置与设计器关联的 DHTML 行为。 (继承自 HtmlControlDesigner) |
Component |
获取此设计器正在设计的组件。 (继承自 ComponentDesigner) |
DataBindings |
获取当前控件的数据绑定集合。 (继承自 HtmlControlDesigner) |
DataBindingsEnabled |
获取一个值,该值指示包含关联控件的区域是否支持数据绑定。 (继承自 ControlDesigner) |
DesignerState |
获取用于在设计时保持关联控件数据的对象。 (继承自 ControlDesigner) |
DesignTimeElement |
已过时.
获取一个设计时对象,该对象表示与设计图面上的 HtmlControlDesigner 对象关联的控件。 (继承自 HtmlControlDesigner) |
DesignTimeElementView |
已过时.
获取控件设计器的视图控件对象。 (继承自 ControlDesigner) |
DesignTimeHtmlRequiresLoadComplete |
已过时.
获取一个值,该值指示是否必须在设计宿主完成加载之后才能调用 GetDesignTimeHtml 方法。 (继承自 ControlDesigner) |
Expressions |
获取当前控件在设计时的表达式绑定。 (继承自 HtmlControlDesigner) |
HidePropertiesInTemplateMode |
获取一个值,该值指示当控件处于模板模式时,关联控件的属性是否被隐藏。 (继承自 ControlDesigner) |
ID |
获取或设置控件的 ID 字符串。 (继承自 ControlDesigner) |
InheritanceAttribute |
获取一个特性,该特性指示关联组件的继承类型。 (继承自 ComponentDesigner) |
Inherited |
获取一个值,该值指示是否继承此组件。 (继承自 ComponentDesigner) |
InTemplateMode |
获取一个值,该值指示控件在设计宿主中是否处于模板查看模式或模板编辑模式之一。 InTemplateMode 属性为只读。 (继承自 ControlDesigner) |
IsDirty |
已过时.
获取或设置一个值,该值指示 Web 服务器控件是否已被标记为已更改。 (继承自 ControlDesigner) |
ParentComponent |
获取此设计器的父组件。 (继承自 ComponentDesigner) |
ReadOnly |
已过时.
获取或设置一个值,该值指示控件的属性在设计时是否为只读。 (继承自 ControlDesigner) |
RootDesigner |
获取包含关联控件的 Web 窗体页的控件设计器。 (继承自 ControlDesigner) |
SetTextualDefaultProperty |
在可视化设计器中为 LoginStatus Web 服务器控件提供设计时支持。 (继承自 ComponentDesigner) |
ShadowProperties |
获取重写用户设置的属性值的集合。 (继承自 ComponentDesigner) |
ShouldCodeSerialize |
已过时.
获取或设置一个值,该值指示在序列化期间是否应为当前设计文档在代码隐藏文件中创建控件的字段声明。 (继承自 HtmlControlDesigner) |
Tag |
获取表示关联控件的 HTML 标记元素的对象。 (继承自 ControlDesigner) |
TemplateGroups |
获取一个模板组集合,其中每个模板组包含一个或多个模板定义。 (继承自 ControlDesigner) |
UsePreviewControl |
获取一个值,指示设计器是否应使用临时副本取代与设计器关联的实际控件来生成设计时标记。 |
Verbs |
获取与设计器相关联的组件所支持的设计时谓词。 (继承自 ComponentDesigner) |
ViewControl |
获取或设置可用于预览设计时 HTML 标记的 Web 服务器控件。 (继承自 ControlDesigner) |
ViewControlCreated |
获取或设置一个值,该值指示是否已创建 |
Visible |
获取指示该控件在设计时是否可见的值。 (继承自 ControlDesigner) |
方法
显式接口实现
IDesignerFilter.PostFilterAttributes(IDictionary) |
有关此成员的说明,请参见 PostFilterAttributes(IDictionary) 方法。 (继承自 ComponentDesigner) |
IDesignerFilter.PostFilterEvents(IDictionary) |
有关此成员的说明,请参见 PostFilterEvents(IDictionary) 方法。 (继承自 ComponentDesigner) |
IDesignerFilter.PostFilterProperties(IDictionary) |
有关此成员的说明,请参见 PostFilterProperties(IDictionary) 方法。 (继承自 ComponentDesigner) |
IDesignerFilter.PreFilterAttributes(IDictionary) |
有关此成员的说明,请参见 PreFilterAttributes(IDictionary) 方法。 (继承自 ComponentDesigner) |
IDesignerFilter.PreFilterEvents(IDictionary) |
有关此成员的说明,请参见 PreFilterEvents(IDictionary) 方法。 (继承自 ComponentDesigner) |
IDesignerFilter.PreFilterProperties(IDictionary) |
有关此成员的说明,请参见 PreFilterProperties(IDictionary) 方法。 (继承自 ComponentDesigner) |
ITreeDesigner.Children |
有关此成员的说明,请参见 Children 属性。 (继承自 ComponentDesigner) |
ITreeDesigner.Parent |
有关此成员的说明,请参见 Parent 属性。 (继承自 ComponentDesigner) |