summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2010-03-12 17:21:27 -0800
committerAndrew Arnott <andrewarnott@gmail.com>2010-03-12 17:21:27 -0800
commit5bc2a84178f6bb08867de2f4fc88b2909f3cf33c (patch)
tree23cbf07e032a8d4b478652bac9761600c38e4048
parent70591c5219bbd8d3b3e5ecacccb0bfb588f219bf (diff)
downloadDotNetOpenAuth-5bc2a84178f6bb08867de2f4fc88b2909f3cf33c.zip
DotNetOpenAuth-5bc2a84178f6bb08867de2f4fc88b2909f3cf33c.tar.gz
DotNetOpenAuth-5bc2a84178f6bb08867de2f4fc88b2909f3cf33c.tar.bz2
Removed the last of the hard-coded embedded resource strings from the project template.
-rw-r--r--projecttemplates/MvcRelyingParty/Views/Account/Edit.aspx3
-rw-r--r--projecttemplates/MvcRelyingParty/Views/Auth/LogOn.aspx5
-rw-r--r--projecttemplates/MvcRelyingParty/Views/Auth/LogOnPopup.aspx4
-rw-r--r--src/DotNetOpenAuth/Mvc/OpenIdHelper.cs50
4 files changed, 55 insertions, 7 deletions
diff --git a/projecttemplates/MvcRelyingParty/Views/Account/Edit.aspx b/projecttemplates/MvcRelyingParty/Views/Account/Edit.aspx
index 7dae05c..25ba2a8 100644
--- a/projecttemplates/MvcRelyingParty/Views/Account/Edit.aspx
+++ b/projecttemplates/MvcRelyingParty/Views/Account/Edit.aspx
@@ -8,8 +8,7 @@
Edit
</asp:Content>
<asp:Content ContentPlaceHolderID="Head" runat="server">
- <link rel="Stylesheet" type="text/css" href="<%=Page.ClientScript.GetWebResourceUrl(typeof(DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector), "DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.css")%>" />
- <link rel="Stylesheet" type="text/css" href="<%=Page.ClientScript.GetWebResourceUrl(typeof(DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector), "DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.css")%>" />
+ <%= Html.OpenIdSelectorStyles(this.Page) %>
</asp:Content>
<asp:Content ContentPlaceHolderID="ScriptsArea" runat="server">
<script type="text/javascript" src='<%= Url.Content("~/Scripts/MicrosoftAjax.js") %>'></script>
diff --git a/projecttemplates/MvcRelyingParty/Views/Auth/LogOn.aspx b/projecttemplates/MvcRelyingParty/Views/Auth/LogOn.aspx
index 4709507..02913f1 100644
--- a/projecttemplates/MvcRelyingParty/Views/Auth/LogOn.aspx
+++ b/projecttemplates/MvcRelyingParty/Views/Auth/LogOn.aspx
@@ -1,8 +1,7 @@
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>
-
+<%@ Import Namespace="DotNetOpenAuth.Mvc" %>
<asp:Content ContentPlaceHolderID="Head" runat="server">
- <link rel="Stylesheet" type="text/css" href="<%=Page.ClientScript.GetWebResourceUrl(typeof(DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector), "DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.css")%>" />
- <link rel="Stylesheet" type="text/css" href="<%=Page.ClientScript.GetWebResourceUrl(typeof(DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector), "DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.css")%>" />
+ <%= Html.OpenIdSelectorStyles(this.Page) %>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<% Html.RenderPartial("LogOnContent"); %>
diff --git a/projecttemplates/MvcRelyingParty/Views/Auth/LogOnPopup.aspx b/projecttemplates/MvcRelyingParty/Views/Auth/LogOnPopup.aspx
index 465e7a0..bfc33e9 100644
--- a/projecttemplates/MvcRelyingParty/Views/Auth/LogOnPopup.aspx
+++ b/projecttemplates/MvcRelyingParty/Views/Auth/LogOnPopup.aspx
@@ -1,11 +1,11 @@
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %>
+<%@ Import Namespace="DotNetOpenAuth.Mvc" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Login</title>
- <link rel="Stylesheet" type="text/css" href="<%=Page.ClientScript.GetWebResourceUrl(typeof(DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector), "DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.css")%>" />
- <link rel="Stylesheet" type="text/css" href="<%=Page.ClientScript.GetWebResourceUrl(typeof(DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector), "DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.css")%>" />
+ <%= Html.OpenIdSelectorStyles(this.Page) %>
<link rel="stylesheet" type="text/css" href='<%= Url.Content("~/Content/loginpopup.css") %>' />
</head>
<body>
diff --git a/src/DotNetOpenAuth/Mvc/OpenIdHelper.cs b/src/DotNetOpenAuth/Mvc/OpenIdHelper.cs
index cc03a49..55af17d 100644
--- a/src/DotNetOpenAuth/Mvc/OpenIdHelper.cs
+++ b/src/DotNetOpenAuth/Mvc/OpenIdHelper.cs
@@ -27,6 +27,23 @@ namespace DotNetOpenAuth.Mvc {
/// </summary>
public static class OpenIdHelper {
/// <summary>
+ /// Emits a series of stylesheet import tags to support the AJAX OpenID Selector.
+ /// </summary>
+ /// <param name="html">The <see cref="HtmlHelper"/> on the view.</param>
+ /// <param name="page">The page being rendered.</param>
+ /// <returns>HTML that should be sent directly to the browser.</returns>
+ public static string OpenIdSelectorStyles(this HtmlHelper html, Page page) {
+ Contract.Requires<ArgumentNullException>(html != null);
+ Contract.Requires<ArgumentNullException>(page != null);
+ Contract.Ensures(Contract.Result<string>() != null);
+
+ StringWriter result = new StringWriter();
+ result.WriteStylesheetLink(page, OpenId.RelyingParty.OpenIdSelector.EmbeddedStylesheetResourceName);
+ result.WriteStylesheetLink(page, OpenId.RelyingParty.OpenIdAjaxTextBox.EmbeddedStylesheetResourceName);
+ return result.ToString();
+ }
+
+ /// <summary>
/// Emits a series of script import tags and some inline script to support the AJAX OpenID Selector.
/// </summary>
/// <param name="html">The <see cref="HtmlHelper"/> on the view.</param>
@@ -344,6 +361,10 @@ window.openid_trace = {1}; // causes lots of messages";
/// <param name="page">The page being rendered.</param>
/// <param name="resourceName">Name of the resource.</param>
private static void WriteScriptTags(this TextWriter writer, Page page, string resourceName) {
+ Contract.Requires<ArgumentNullException>(writer != null);
+ Contract.Requires<ArgumentNullException>(page != null);
+ Contract.Requires<ArgumentException>(!string.IsNullOrEmpty(resourceName));
+
WriteScriptTags(writer, page, new[] { resourceName });
}
@@ -367,10 +388,39 @@ window.openid_trace = {1}; // causes lots of messages";
/// <param name="writer">The writer to emit the tags to.</param>
/// <param name="script">The script to inline on the page.</param>
private static void WriteScriptBlock(this TextWriter writer, string script) {
+ Contract.Requires<ArgumentNullException>(writer != null);
+ Contract.Requires<ArgumentException>(!string.IsNullOrEmpty(script));
+
writer.WriteLine("<script type='text/javascript' language='javascript'><!--");
writer.WriteLine("//<![CDATA[");
writer.WriteLine(script);
writer.WriteLine("//]]>--></script>");
}
+
+ /// <summary>
+ /// Writes a given CSS link.
+ /// </summary>
+ /// <param name="writer">The writer to emit the tags to.</param>
+ /// <param name="page">The page being rendered.</param>
+ /// <param name="resourceName">Name of the resource containing the CSS content.</param>
+ private static void WriteStylesheetLink(this TextWriter writer, Page page, string resourceName) {
+ Contract.Requires<ArgumentNullException>(writer != null);
+ Contract.Requires<ArgumentNullException>(page != null);
+ Contract.Requires<ArgumentException>(!string.IsNullOrEmpty(resourceName));
+
+ WriteStylesheetLink(writer, page.ClientScript.GetWebResourceUrl(typeof(OpenIdRelyingPartyAjaxControlBase), resourceName));
+ }
+
+ /// <summary>
+ /// Writes a given CSS link.
+ /// </summary>
+ /// <param name="writer">The writer to emit the tags to.</param>
+ /// <param name="stylesheet">The stylesheet to link in.</param>
+ private static void WriteStylesheetLink(this TextWriter writer, string stylesheet) {
+ Contract.Requires<ArgumentNullException>(writer != null);
+ Contract.Requires<ArgumentException>(!string.IsNullOrEmpty(stylesheet));
+
+ writer.WriteLine("<link rel='stylesheet' type='text/css' href='{0}' />", stylesheet);
+ }
}
}