1
namespace System
.Web
.Mvc
{
3 using System
.Diagnostics
.CodeAnalysis
;
5 using System
.Web
.Routing
;
6 using System
.Web
.Script
.Serialization
;
8 public class AjaxHelper
{
10 private static string _globalizationScriptPath
;
12 public AjaxHelper(ViewContext viewContext
, IViewDataContainer viewDataContainer
)
13 : this(viewContext
, viewDataContainer
, RouteTable
.Routes
) {
16 public AjaxHelper(ViewContext viewContext
, IViewDataContainer viewDataContainer
, RouteCollection routeCollection
) {
17 if (viewContext
== null) {
18 throw new ArgumentNullException("viewContext");
20 if (viewDataContainer
== null) {
21 throw new ArgumentNullException("viewDataContainer");
23 if (routeCollection
== null) {
24 throw new ArgumentNullException("routeCollection");
26 ViewContext
= viewContext
;
27 ViewDataContainer
= viewDataContainer
;
28 RouteCollection
= routeCollection
;
31 public static string GlobalizationScriptPath
{
33 if (String
.IsNullOrEmpty(_globalizationScriptPath
)) {
34 _globalizationScriptPath
= "~/Scripts/Globalization";
36 return _globalizationScriptPath
;
39 _globalizationScriptPath
= value;
43 public RouteCollection RouteCollection
{
48 public ViewContext ViewContext
{
53 public ViewDataDictionary ViewData
{
55 return ViewDataContainer
.ViewData
;
59 public IViewDataContainer ViewDataContainer
{
64 [SuppressMessage("Microsoft.Performance", "CA1822:MarkMembersAsStatic", Justification
= "Instance method for consistency with other helpers.")]
65 public string JavaScriptStringEncode(string message
) {
66 if (String
.IsNullOrEmpty(message
)) {
70 StringBuilder builder
= new StringBuilder();
71 JavaScriptSerializer serializer
= new JavaScriptSerializer();
72 serializer
.Serialize(message
, builder
);
73 return builder
.ToString(1, builder
.Length
- 2); // remove first + last quote