diff --git a/src/Orchard/Mvc/Html/HtmlHelperExtensions.cs b/src/Orchard/Mvc/Html/HtmlHelperExtensions.cs index f3d676fd0..a6bdf2b1c 100644 --- a/src/Orchard/Mvc/Html/HtmlHelperExtensions.cs +++ b/src/Orchard/Mvc/Html/HtmlHelperExtensions.cs @@ -240,12 +240,25 @@ namespace Orchard.Mvc.Html { #region AntiForgeryTokenOrchard - public static MvcHtmlString AntiForgeryTokenOrchard(this HtmlHelper htmlHelper) - { + public static MvcHtmlString AntiForgeryTokenOrchard(this HtmlHelper htmlHelper) { var siteSalt = htmlHelper.Resolve().GetSiteSettings().SiteSalt; + return htmlHelper.AntiForgeryToken(siteSalt); } #endregion + + #region AntiForgeryTokenValueOrchard + + public static string AntiForgeryTokenValueOrchard(this HtmlHelper htmlHelper) { + //HAACK: (erikpo) Since MVC doesn't expose any of its methods for generating the antiforgery token and setting the cookie, we'll just let it do its thing and parse out what we need + var field = htmlHelper.AntiForgeryTokenOrchard().ToHtmlString(); + var beginIndex = field.IndexOf("value=\"") + 7; + var endIndex = field.IndexOf("\"", beginIndex); + + return field.Substring(beginIndex, endIndex - beginIndex); + } + + #endregion } }