diff --git a/Griddly.Mvc/GriddlyExtensions.cs b/Griddly.Mvc/GriddlyExtensions.cs index 03e6e7f..9e0b785 100644 --- a/Griddly.Mvc/GriddlyExtensions.cs +++ b/Griddly.Mvc/GriddlyExtensions.cs @@ -530,12 +530,23 @@ private static GriddlyContext GetOrCreateGriddlyContext(RouteData routeData, Htt sortFields = GriddlyResult.GetSortFields(items); +#if NETFRAMEWORK + string cookieSuffix = (controller.ControllerContext.RouteData.Values["gid"] as string); +#else + string cookieSuffix = (routeData.Values["gid"] as string); +#endif + + if (string.IsNullOrEmpty(cookieSuffix)) + cookieSuffix = items["gid"]; + + cookieSuffix = !string.IsNullOrEmpty(cookieSuffix) ? "_" + cookieSuffix.ToLower() : string.Empty; + context = new GriddlyContext() { #if NETFRAMEWORK - Name = (controller.GetType().Name + "_" + controller.ControllerContext.RouteData.Values["action"] as string).ToLower(), + Name = (controller.GetType().Name + "_" + controller.ControllerContext.RouteData.Values["action"] as string).ToLower() + cookieSuffix, #else - Name = (routeData.Values["controller"] as string).ToLower() + "_" + (routeData.Values["action"] as string).ToLower(), + Name = (routeData.Values["controller"] as string).ToLower() + "_" + (routeData.Values["action"] as string).ToLower() + cookieSuffix, #endif PageNumber = pageNumber, PageSize = pageSize, @@ -622,7 +633,7 @@ public static string Current(this IUrlHelper helper, ViewContext vc, object rout { if (arrayVals.Length > 0) arrayVals.Append("&"); - arrayVals.Append(string.Join("&", ((IEnumerable)value.Value).Cast().Select(x=> value.Key + "=" + x?.ToString()))); + arrayVals.Append(string.Join("&", ((IEnumerable)value.Value).Cast().Select(x => value.Key + "=" + x?.ToString()))); } } } @@ -656,7 +667,7 @@ public static string Current(this IUrlHelper helper, ViewContext vc, object rout } var route = helper.RouteUrl(values); - if(arrayVals.Length>0) + if (arrayVals.Length > 0) { route += (route.Contains("?") ? "&" : "?") + arrayVals.ToString(); } diff --git a/Griddly.NetCore/Views/Home/MultipleDefaultTest.cshtml b/Griddly.NetCore/Views/Home/MultipleDefaultTest.cshtml index fd892f8..fe83e30 100644 --- a/Griddly.NetCore/Views/Home/MultipleDefaultTest.cshtml +++ b/Griddly.NetCore/Views/Home/MultipleDefaultTest.cshtml @@ -6,8 +6,12 @@

Multiple Default Test

Grid 1

- @await Html.GriddlyAsync("Test1Grid") -

Grid 2

- @await Html.GriddlyAsync("Test2Grid") + @await Html.GriddlyAsync("Test1Grid", new { gid = "Original" }) +

Copy Grid 1

+ @await Html.GriddlyAsync("Test1Grid", new { gid = "Copy" }) +

Original Grid 2

+ @await Html.GriddlyAsync("Test2Grid", new { gid = "Original" }) +

Copy Grid 2

+ @await Html.GriddlyAsync("Test2Grid", new { gid = "Copy" })
\ No newline at end of file diff --git a/Griddly/Views/Home/MultipleDefaultTest.cshtml b/Griddly/Views/Home/MultipleDefaultTest.cshtml index 10f05a2..14ff10a 100644 --- a/Griddly/Views/Home/MultipleDefaultTest.cshtml +++ b/Griddly/Views/Home/MultipleDefaultTest.cshtml @@ -6,8 +6,12 @@

Multiple Default Test

Grid 1

- @Html.Griddly("Test1Grid") -

Grid 2

- @Html.Griddly("Test2Grid") + @Html.Griddly("Test1Grid", new { gid = "Original" }) +

Copy Grid 1

+ @Html.Griddly("Test1Grid", new { gid = "Copy" }) +

Original Grid 2

+ @Html.Griddly("Test2Grid", new { gid = "Original" }) +

Copy Grid 2

+ @Html.Griddly("Test2Grid", new { gid = "Copy" })
\ No newline at end of file