Xamarin Public Jenkins (auto-signing) e79aa3c0ed Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
2016-08-03 10:59:49 +00:00

52 lines
2.2 KiB
C#

//------------------------------------------------------------------------------
// <copyright file="WmlImageButtonAdapter.cs" company="Microsoft">
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
//------------------------------------------------------------------------------
#if WMLSUPPORT
namespace System.Web.UI.WebControls.Adapters {
using System.Web.UI.Adapters;
using System.Web.UI.WebControls;
// REVIEW: Inheritance. If this inherits from ImageButtonAdapter, there is no way to create a
// WmlImageAdapter and set the Control property to delegate rendering (base.Render, below). Control is read-only.
// Maybe Control should be get/set for this situation.
public class WmlImageButtonAdapter : WmlImageAdapter {
protected new ImageButton Control {
get {
return (ImageButton)base.Control;
}
}
protected internal override void Render(HtmlTextWriter markupWriter) {
WmlTextWriter writer = (WmlTextWriter) markupWriter;
string postUrl = Control.PostBackUrl;
if (!String.IsNullOrEmpty(postUrl)) {
postUrl = Control.ResolveClientUrl (Control.PostBackUrl);
}
// UNDONE: Replace hard coded string indexer with strongly typed capability.
if (Page != null && Page.Request != null && (String)Page.Request.Browser["supportsImageSubmit"] == "false") {
writer.EnterStyle(Control.ControlStyle);
PageAdapter.RenderPostBackEvent(writer, Control.UniqueID /* target */, "EA" /* argument, placeholder only */, Control.SoftkeyLabel, Control.AlternateText, postUrl, null /* accesskey */);
writer.ExitStyle(Control.ControlStyle);
return;
}
writer.EnterStyle(Control.ControlStyle);
((WmlPageAdapter)PageAdapter).RenderBeginPostBack(writer, Control.SoftkeyLabel /* maps to title attribute, Whidbey 10732 */, Control.AccessKey);
base.Render(writer);
((WmlPageAdapter)PageAdapter).RenderEndPostBack(writer, Control.UniqueID, "EA" /* argument, placeholder only */, postUrl);
writer.ExitStyle(Control.ControlStyle);
}
}
}
#endif