You've already forked linux-packaging-mono
Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
This commit is contained in:
parent
a569aebcfd
commit
e79aa3c0ed
@@ -0,0 +1,309 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <copyright file="Command.cs" company="Microsoft">
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// </copyright>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Specialized;
|
||||
using System.ComponentModel;
|
||||
using System.ComponentModel.Design;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing.Design;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Security.Permissions;
|
||||
|
||||
namespace System.Web.UI.MobileControls
|
||||
{
|
||||
|
||||
/*
|
||||
* Mobile Command class.
|
||||
*
|
||||
* Copyright (c) 2000 Microsoft Corporation
|
||||
*/
|
||||
/// <include file='doc\Command.uex' path='docs/doc[@for="Command"]/*' />
|
||||
[
|
||||
DataBindingHandler("System.Web.UI.Design.TextDataBindingHandler, " + AssemblyRef.SystemDesign),
|
||||
DefaultEvent("Click"),
|
||||
DefaultProperty("Text"),
|
||||
Designer(typeof(System.Web.UI.Design.MobileControls.CommandDesigner)),
|
||||
DesignerAdapter(typeof(System.Web.UI.Design.MobileControls.Adapters.DesignerCommandAdapter)),
|
||||
ToolboxData("<{0}:Command runat=\"server\">Command</{0}:Command>"),
|
||||
ToolboxItem("System.Web.UI.Design.WebControlToolboxItem, " + AssemblyRef.SystemDesign)
|
||||
]
|
||||
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
|
||||
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
|
||||
[Obsolete("The System.Web.Mobile.dll assembly has been deprecated and should no longer be used. For information about how to develop ASP.NET mobile applications, see http://go.microsoft.com/fwlink/?LinkId=157231.")]
|
||||
public class Command : TextControl, IPostBackEventHandler, IPostBackDataHandler
|
||||
{
|
||||
private static readonly Object EventClick = new Object ();
|
||||
private static readonly Object EventItemCommand = new Object ();
|
||||
|
||||
/// <include file='doc\Command.uex' path='docs/doc[@for="Command.OnPreRender"]/*' />
|
||||
protected override void OnPreRender(EventArgs e)
|
||||
{
|
||||
base.OnPreRender(e);
|
||||
// If this control will be rendered as an image
|
||||
|
||||
Debug.Assert(ImageUrl != null);
|
||||
if (MobilePage != null
|
||||
&& ImageUrl.Length != 0
|
||||
&& MobilePage.Device.SupportsImageSubmit)
|
||||
{
|
||||
// HTML input controls of type image postback as name.x and
|
||||
// name.y which is not associated with this control by default
|
||||
// in Page.ProcessPostData().
|
||||
MobilePage.RegisterRequiresPostBack(this);
|
||||
}
|
||||
}
|
||||
|
||||
/// <internalonly/>
|
||||
protected bool LoadPostData(String key, NameValueCollection data)
|
||||
{
|
||||
bool dataChanged;
|
||||
bool handledByAdapter =
|
||||
Adapter.LoadPostData(key, data, null, out dataChanged);
|
||||
|
||||
// If the adapter handled the post back and set dataChanged this
|
||||
// was an image button (responds with ID.x and ID.y).
|
||||
if (handledByAdapter)
|
||||
{
|
||||
if(dataChanged)
|
||||
{
|
||||
Page.RegisterRequiresRaiseEvent(this);
|
||||
}
|
||||
}
|
||||
// Otherwise if the adapter did not handle the past back, use
|
||||
// the same method as Page.ProcessPostData().
|
||||
else if(data[key] != null)
|
||||
{
|
||||
Page.RegisterRequiresRaiseEvent(this);
|
||||
}
|
||||
return false; // no need to raise PostDataChangedEvent.
|
||||
}
|
||||
|
||||
/// <internalonly/>
|
||||
protected void RaisePostDataChangedEvent() {
|
||||
}
|
||||
|
||||
/// <include file='doc\Command.uex' path='docs/doc[@for="Command.SoftkeyLabel"]/*' />
|
||||
[
|
||||
Bindable(true),
|
||||
DefaultValue(""),
|
||||
MobileCategory(SR.Category_Behavior),
|
||||
MobileSysDescription(SR.Command_SoftkeyLabel)
|
||||
]
|
||||
public String SoftkeyLabel
|
||||
{
|
||||
get
|
||||
{
|
||||
String s = (String) ViewState["Softkeylabel"];
|
||||
return((s != null) ? s : String.Empty);
|
||||
}
|
||||
set
|
||||
{
|
||||
ViewState["Softkeylabel"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <include file='doc\Command.uex' path='docs/doc[@for="Command.CommandName"]/*' />
|
||||
[
|
||||
Bindable(true),
|
||||
DefaultValue(""),
|
||||
MobileCategory(SR.Category_Behavior),
|
||||
MobileSysDescription(SR.Command_CommandName)
|
||||
]
|
||||
public String CommandName
|
||||
{
|
||||
get
|
||||
{
|
||||
String s = (String) ViewState["CommandName"];
|
||||
return((s != null) ? s : String.Empty);
|
||||
}
|
||||
set
|
||||
{
|
||||
ViewState["CommandName"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <include file='doc\Command.uex' path='docs/doc[@for="Command.CommandArgument"]/*' />
|
||||
[
|
||||
Bindable(true),
|
||||
DefaultValue(""),
|
||||
MobileCategory(SR.Category_Behavior),
|
||||
MobileSysDescription(SR.Command_CommandArgument)
|
||||
]
|
||||
public String CommandArgument
|
||||
{
|
||||
get
|
||||
{
|
||||
String s = (String) ViewState["CommandArgument"];
|
||||
return((s != null) ? s : String.Empty);
|
||||
}
|
||||
set
|
||||
{
|
||||
ViewState["CommandArgument"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <include file='doc\Command.uex' path='docs/doc[@for="Command.ImageUrl"]/*' />
|
||||
[
|
||||
Bindable(true),
|
||||
DefaultValue(""),
|
||||
Editor(typeof(System.Web.UI.Design.MobileControls.ImageUrlEditor),
|
||||
typeof(UITypeEditor)),
|
||||
MobileCategory(SR.Category_Appearance),
|
||||
MobileSysDescription(SR.Image_ImageUrl)
|
||||
]
|
||||
public String ImageUrl
|
||||
{
|
||||
get
|
||||
{
|
||||
String s = (String) ViewState["ImageUrl"];
|
||||
return((s != null) ? s : String.Empty);
|
||||
}
|
||||
set
|
||||
{
|
||||
ViewState["ImageUrl"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <include file='doc\Command.uex' path='docs/doc[@for="Command.CausesValidation"]/*' />
|
||||
[
|
||||
Bindable(false),
|
||||
DefaultValue(true),
|
||||
MobileCategory(SR.Category_Behavior),
|
||||
MobileSysDescription(SR.Command_CausesValidation)
|
||||
]
|
||||
public bool CausesValidation
|
||||
{
|
||||
get
|
||||
{
|
||||
object b = ViewState["CausesValidation"];
|
||||
return((b == null) ? true : (bool)b);
|
||||
}
|
||||
set
|
||||
{
|
||||
ViewState["CausesValidation"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <include file='doc\Command.uex' path='docs/doc[@for="Command.Format"]/*' />
|
||||
[
|
||||
Bindable(true),
|
||||
DefaultValue(CommandFormat.Button),
|
||||
MobileCategory(SR.Category_Appearance),
|
||||
MobileSysDescription(SR.Command_Format)
|
||||
]
|
||||
public CommandFormat Format
|
||||
{
|
||||
get
|
||||
{
|
||||
Object o = ViewState["Format"];
|
||||
return((o == null) ? CommandFormat.Button : (CommandFormat)o);
|
||||
}
|
||||
set
|
||||
{
|
||||
ViewState["Format"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <include file='doc\Command.uex' path='docs/doc[@for="Command.OnClick"]/*' />
|
||||
protected virtual void OnClick(EventArgs e)
|
||||
{
|
||||
EventHandler onClickHandler = (EventHandler)Events[EventClick];
|
||||
if (onClickHandler != null)
|
||||
{
|
||||
onClickHandler(this,e);
|
||||
}
|
||||
}
|
||||
|
||||
/// <include file='doc\Command.uex' path='docs/doc[@for="Command.OnItemCommand"]/*' />
|
||||
protected virtual void OnItemCommand(CommandEventArgs e)
|
||||
{
|
||||
CommandEventHandler onItemCommandHandler = (CommandEventHandler)Events[EventItemCommand];
|
||||
if (onItemCommandHandler != null)
|
||||
{
|
||||
onItemCommandHandler(this,e);
|
||||
}
|
||||
|
||||
RaiseBubbleEvent (this, e);
|
||||
}
|
||||
|
||||
/// <include file='doc\Command.uex' path='docs/doc[@for="Command.Click"]/*' />
|
||||
[
|
||||
MobileCategory(SR.Category_Action),
|
||||
MobileSysDescription(SR.Command_OnClick)
|
||||
]
|
||||
public event EventHandler Click
|
||||
{
|
||||
add
|
||||
{
|
||||
Events.AddHandler(EventClick, value);
|
||||
}
|
||||
remove
|
||||
{
|
||||
Events.RemoveHandler(EventClick, value);
|
||||
}
|
||||
}
|
||||
|
||||
/// <include file='doc\Command.uex' path='docs/doc[@for="Command.ItemCommand"]/*' />
|
||||
[
|
||||
MobileCategory(SR.Category_Action),
|
||||
MobileSysDescription(SR.Command_OnItemCommand)
|
||||
]
|
||||
public event CommandEventHandler ItemCommand
|
||||
{
|
||||
add
|
||||
{
|
||||
Events.AddHandler(EventItemCommand, value);
|
||||
}
|
||||
remove
|
||||
{
|
||||
Events.RemoveHandler(EventItemCommand, value);
|
||||
}
|
||||
}
|
||||
|
||||
/// <include file='doc\Command.uex' path='docs/doc[@for="Command.IPostBackEventHandler.RaisePostBackEvent"]/*' />
|
||||
/// <internalonly/>
|
||||
protected void RaisePostBackEvent(String argument)
|
||||
{
|
||||
if (CausesValidation)
|
||||
{
|
||||
MobilePage.Validate();
|
||||
}
|
||||
|
||||
// It is legitimate to reset the form back to the first page
|
||||
// after a form submit.
|
||||
Form.CurrentPage = 1;
|
||||
|
||||
OnClick (EventArgs.Empty);
|
||||
OnItemCommand (new CommandEventArgs(CommandName, CommandArgument));
|
||||
}
|
||||
|
||||
/// <include file='doc\Command.uex' path='docs/doc[@for="Command.IsFormSubmitControl"]/*' />
|
||||
protected override bool IsFormSubmitControl()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
#region IPostBackEventHandler implementation
|
||||
void IPostBackEventHandler.RaisePostBackEvent(String eventArgument) {
|
||||
RaisePostBackEvent(eventArgument);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region IPostBackDataHandler implementation
|
||||
bool IPostBackDataHandler.LoadPostData(String key, NameValueCollection data) {
|
||||
return LoadPostData(key, data);
|
||||
}
|
||||
|
||||
void IPostBackDataHandler.RaisePostDataChangedEvent() {
|
||||
RaisePostDataChangedEvent();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user