Corrected port number issue in slugs display

--HG--
branch : dev
This commit is contained in:
Sebastien Ros
2010-05-11 17:45:34 -07:00
parent 5f4a93ce16
commit 3cfe2bc241
4 changed files with 15 additions and 11 deletions

View File

@@ -10,7 +10,7 @@
<%=Html.TextBoxFor(m => m.Title, new { @class = "large text" }) %>
</fieldset>
<fieldset class="permalink">
<label class="sub" for="Slug"><%=_Encoded("Permalink")%><br /><span><%=Html.Encode(Request.Url.ToRootString()) %>/<%=Html.Encode(Model.RoutableAspect.ContentItemBasePath) %></span></label>
<label class="sub" for="Slug"><%=_Encoded("Permalink")%><br /><span><%=Html.Encode(Request.ToRootUrlString())%>/<%=Html.Encode(Model.RoutableAspect.ContentItemBasePath) %></span></label>
<span><%=Html.TextBoxFor(m => m.Slug, new { @class = "text" })%></span>
</fieldset>
<% using (this.Capture("end-of-page-scripts")) { %>

View File

@@ -418,7 +418,7 @@
<Compile Include="Utility\Extensions\ReadOnlyCollectionExtensions.cs" />
<Compile Include="Utility\Extensions\RouteValueDictionaryExtensions.cs" />
<Compile Include="Utility\Extensions\StringExtensions.cs" />
<Compile Include="Utility\Extensions\UriExtensions.cs" />
<Compile Include="Utility\Extensions\HttpRequestExtensions.cs" />
<Compile Include="Utility\Position.cs" />
<Compile Include="Utility\Reflect.cs" />
<Compile Include="Utility\ReflectOn.cs" />

View File

@@ -0,0 +1,13 @@
using System.Web;
namespace Orchard.Utility.Extensions {
public static class HttpRequestExtensions {
/// <summary>
/// Returns the root part of a request.
/// </summary>
/// <remarks>Prevents port number issues by using the client requested host</remarks>
public static string ToRootUrlString(this HttpRequest request) {
return string.Format("{0}://{1}", request.Url.Scheme, request.Headers["Host"]);
}
}
}

View File

@@ -1,9 +0,0 @@
using System;
namespace Orchard.Utility.Extensions {
public static class UriExtensions {
public static string ToRootString(this Uri uri) {
return string.Format("{0}://{1}{2}", uri.Scheme, uri.Host, uri.Port != 80 ? ":" + uri.Port : "");
}
}
}