à lire: README.md et Features.md

* README.md: mise à jour des priorités

* Global.asax.cs: Fixe un 404 Not Found sur le script
  d'internationalisation.

* YavscAjaxHelper.cs: Fixe un 404 Not Found sur le script
  d'internationalisation:
Implementation d'une alternative à Ajax.GlobalisationScript() de Mono
  System.Web.MVC

* App.master: utilise la nouvelle methode pour construire les
  references aux scripts d'internationalisation
This commit is contained in:
Paul Schneider 2015-12-01 12:04:12 +01:00
commit eee67fa62e
6 changed files with 82 additions and 7 deletions

View file

@ -25,6 +25,9 @@ using Yavsc.Model.Messaging;
using System.Runtime.Serialization.Json;
using System.IO;
using System.Text;
using System.Globalization;
using System.Diagnostics.CodeAnalysis;
using System.Web;
namespace Yavsc.Helpers
{
@ -47,7 +50,47 @@ namespace Yavsc.Helpers
new Notification { body = QuoteJavascriptString((string)message),
click_action = click_action } ) ;
}
/// <summary>
/// Globalizations the script.
/// </summary>
/// <returns>The script.</returns>
/// <param name="ajaxHelper">Ajax helper.</param>
public static MvcHtmlString YaGlobalizationScript(this AjaxHelper ajaxHelper)
{
return YaGlobalizationScript(ajaxHelper, CultureInfo.CurrentCulture);
}
/// <summary>
/// Globalizations the script.
/// </summary>
/// <returns>The script.</returns>
/// <param name="ajaxHelper">Ajax helper.</param>
/// <param name="cultureInfo">Culture info.</param>
[SuppressMessage("Microsoft.Usage", "CA1801:ReviewUnusedParameters", MessageId = "ajaxHelper", Justification = "This is an extension method")]
public static MvcHtmlString YaGlobalizationScript(this AjaxHelper ajaxHelper, CultureInfo cultureInfo)
{
return YaGlobalizationScriptHelper(AjaxHelper.GlobalizationScriptPath, cultureInfo);
}
internal static MvcHtmlString YaGlobalizationScriptHelper(string scriptPath, CultureInfo cultureInfo)
{
if (cultureInfo == null)
{
throw new ArgumentNullException("cultureInfo");
}
// references the global script :
TagBuilder tagBuilder = new TagBuilder("script");
tagBuilder.MergeAttribute("type", "text/javascript");
string src = VirtualPathUtility.AppendTrailingSlash(scriptPath) + "globalize.js";
tagBuilder.MergeAttribute("src", VirtualPathUtility.ToAbsolute (src));
TagBuilder tagCurrentBuilder = new TagBuilder("script");
string srccurrent = VirtualPathUtility.AppendTrailingSlash(scriptPath) + "cultures/globalize.culture." + HttpUtility.UrlEncode(cultureInfo.Name) + ".js";
tagCurrentBuilder.MergeAttribute("src", VirtualPathUtility.ToAbsolute (srccurrent));
string html = tagBuilder.ToString(TagRenderMode.Normal)+tagCurrentBuilder.ToString(TagRenderMode.Normal);
return new MvcHtmlString(html);
}
/// <summary>
/// Quotes the javascript string.
/// </summary>