diff options
author | Andrew Arnott <andrewarnott@gmail.com> | 2009-10-15 08:23:01 -0700 |
---|---|---|
committer | Andrew Arnott <andrewarnott@gmail.com> | 2009-10-15 08:23:01 -0700 |
commit | 001bbf18d044e2ddda3b159cd0a8e44e74b00c6d (patch) | |
tree | 4fbe48ae33a3b7084d302ccb0a866003b64c3fd3 | |
parent | 631188bd2d425a999735251e4f0a473be6e30b18 (diff) | |
download | DotNetOpenAuth-001bbf18d044e2ddda3b159cd0a8e44e74b00c6d.zip DotNetOpenAuth-001bbf18d044e2ddda3b159cd0a8e44e74b00c6d.tar.gz DotNetOpenAuth-001bbf18d044e2ddda3b159cd0a8e44e74b00c6d.tar.bz2 |
The list of OP buttons is now kept by the page's code-behind.
3 files changed, 51 insertions, 28 deletions
diff --git a/projecttemplates/WebFormsRelyingParty/LoginFrame.aspx b/projecttemplates/WebFormsRelyingParty/LoginFrame.aspx index f86f4eb..e649b5e 100644 --- a/projecttemplates/WebFormsRelyingParty/LoginFrame.aspx +++ b/projecttemplates/WebFormsRelyingParty/LoginFrame.aspx @@ -1,4 +1,4 @@ -<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="LoginFrame.aspx.cs" Inherits="WebFormsRelyingParty.LoginFrame" %> +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="LoginFrame.aspx.cs" Inherits="WebFormsRelyingParty.LoginFrame" EnableViewState="false" %> <%@ Register Assembly="DotNetOpenAuth" Namespace="DotNetOpenAuth.OpenId.RelyingParty" TagPrefix="rp" %> @@ -17,35 +17,25 @@ <p> Login with an account you already use! </p> - <ul class="OpenIdProviders"> - <li id="https://me.yahoo.com/"><a href="#"> - <div> + <asp:Repeater runat="server" ID="providerRepeater"> + <HeaderTemplate> + <ul class="OpenIdProviders"> + </HeaderTemplate> + <ItemTemplate> + <li id='<%# HttpUtility.HtmlAttributeEncode((string)Eval("OPIdentifier") ?? "OpenIDButton") %>'><a href="#"> <div> - <img src="images/yahoo.gif" /> + <div> + <img src='<%# HttpUtility.HtmlAttributeEncode((string)Eval("Image")) %>' /> + </div> + <div class="ui-widget-overlay"> + </div> </div> - <div class="ui-widget-overlay"> - </div> - </div> - </a></li> - <li id="https://www.google.com/accounts/o8/id"><a href="#"> - <div> - <div> - <img src="images/google.gif" /> - </div> - <div class="ui-widget-overlay"> - </div> - </div> - </a></li> - <li id="OpenIDButton"><a href="#"> - <div> - <div> - <img src="images/openid.gif" /> - </div> - <div class="ui-widget-overlay"> - </div> - </div> - </a></li> - </ul> + </a></li> + </ItemTemplate> + <FooterTemplate> + </ul> + </FooterTemplate> + </asp:Repeater> <form runat="server" style="display: none" id="OpenIDForm"> <asp:HiddenField ID="openidPositiveAssertion" runat="server" /> <asp:HiddenField ID="originPage" runat="server" /> diff --git a/projecttemplates/WebFormsRelyingParty/LoginFrame.aspx.cs b/projecttemplates/WebFormsRelyingParty/LoginFrame.aspx.cs index e2ecc06..a616515 100644 --- a/projecttemplates/WebFormsRelyingParty/LoginFrame.aspx.cs +++ b/projecttemplates/WebFormsRelyingParty/LoginFrame.aspx.cs @@ -13,6 +13,12 @@ namespace WebFormsRelyingParty { public partial class LoginFrame : System.Web.UI.Page, IPostBackEventHandler { private const string postLoginAssertionMethodName = "postLoginAssertion"; + private static readonly ProviderInfo[] providers = new ProviderInfo[] { + new ProviderInfo("https://me.yahoo.com/", "images/yahoo.gif"), + new ProviderInfo("https://www.google.com/accounts/o8/id", "images/google.gif"), + new ProviderInfo(null, "images/openid.gif"), + }; + protected void Page_Load(object sender, EventArgs e) { const string positiveAssertionParameterName = "positiveAssertion"; const string originPageParameterName = "originPage"; @@ -29,6 +35,14 @@ namespace WebFormsRelyingParty { postLoginAssertionMethodName, originPageParameterName); this.ClientScript.RegisterClientScriptBlock(this.GetType(), "Postback", script, true); + + providerRepeater.DataSource = providers; + providerRepeater.DataBind(); + + if (!this.IsPostBack) { + // Perform early discovery on the OPs + + } } #region IPostBackEventHandler Members @@ -46,5 +60,15 @@ namespace WebFormsRelyingParty { } #endregion + + private class ProviderInfo { + internal ProviderInfo(string identifier, string image) { + this.OPIdentifier = identifier; + this.Image = image; + } + + public string OPIdentifier { get; set; } + public string Image { get; set; } + } } } diff --git a/projecttemplates/WebFormsRelyingParty/LoginFrame.aspx.designer.cs b/projecttemplates/WebFormsRelyingParty/LoginFrame.aspx.designer.cs index 35bc172..ae750a0 100644 --- a/projecttemplates/WebFormsRelyingParty/LoginFrame.aspx.designer.cs +++ b/projecttemplates/WebFormsRelyingParty/LoginFrame.aspx.designer.cs @@ -14,6 +14,15 @@ namespace WebFormsRelyingParty { public partial class LoginFrame { /// <summary> + /// providerRepeater control. + /// </summary> + /// <remarks> + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// </remarks> + protected global::System.Web.UI.WebControls.Repeater providerRepeater; + + /// <summary> /// OpenIDForm control. /// </summary> /// <remarks> |