Пример #1
0
        /// <summary>
        /// output object in json
        /// </summary>
        public static void OutputJson(HttpResponse response, object result, int cahceMinutes, string jsonp)
        {
            bool isJsonp = StringUtil.HasText(jsonp);

            response.ContentType = isJsonp ? "application/javascript" : "application/json";

            // fix content type bug
            HttpContext.Current.Items["_ContentType_"] = response.ContentType;

            if (!isJsonp)
            {
                ServerUtil.AddCache(response, cahceMinutes);
            }
            else
            {
                ServerUtil.AddCache(response, -1);
            }

            string r = new Kiss.Json.JavaScriptSerializer().Serialize(result);

            if (isJsonp)
            {
                r = string.Format("{0}({1})", jsonp, r);
            }

            response.Write(r);
        }
Пример #2
0
        /// <summary>
        /// output object in json
        /// </summary>
        public static void OutputJson(HttpResponse response, object result, int cahceMinutes, string jsonp)
        {
            bool isJsonp = StringUtil.HasText(jsonp);

            response.ContentType = isJsonp ? "text/plain" : "text/html";

            if (!isJsonp)
                ServerUtil.AddCache(response, cahceMinutes);
            else
                ServerUtil.AddCache(response, -1);

            string r = new Kiss.Json.JavaScriptSerializer().Serialize(result);

            if (isJsonp)
                r = string.Format("{0}({1})", jsonp, r);

            response.Write(r);
        }        
Пример #3
0
        void Post_BeforeSave(object sender, Posts.BeforeSaveEventArgs e)
        {
            Posts post = sender as Posts;

            if (post == null || e.Properties.Count == 0)
            {
                return;
            }

            #region 处理扩展字段

            if (!string.IsNullOrEmpty(e.Properties["props"]))
            {
                try
                {
                    post.PropertyName  = string.Empty;
                    post.PropertyValue = string.Empty;

                    var extends = new Kiss.Json.JavaScriptSerializer().Deserialize <Dictionary <string, string> >(e.Properties["props"]);

                    foreach (var item in extends.Keys)
                    {
                        post[item] = extends[item];
                    }

                    //序列化扩展字段
                    post.SerializeExtAttrs();
                }
                catch (Exception ex)
                {
                    LogManager.GetLogger <CMSInitializer>().Error(ExceptionUtil.WriteException(ex));
                }
            }

            #endregion
        }
Пример #4
0
        private static object[] ConstructMethodArgs(List <AjaxParam> ps, string methodJsonArgs)
        {
            ArrayList argsObject;

            try
            {
                if (string.IsNullOrEmpty(methodJsonArgs))
                {
                    argsObject = new ArrayList()
                    {
                        string.Empty
                    }
                }
                ;
                else
                {
                    argsObject = new Kiss.Json.JavaScriptSerializer().Deserialize <ArrayList>(methodJsonArgs);
                }

                for (int i = 0; i < ps.Count; i++)
                {
                    AjaxParam p     = ps[i];
                    string    pType = p.ParamType.ToLower();
                    object    data  = argsObject[i];

                    switch (pType)
                    {
                    case "long":
                        argsObject[i] = Convert.ToInt64(data);
                        break;

                    case "int":
                        argsObject[i] = Convert.ToInt32(data);
                        break;

                    case "double":
                        argsObject[i] = Convert.ToDouble(data);
                        break;

                    case "bool":
                        argsObject[i] = Convert.ToBoolean(data);
                        break;

                    case "string":
                        argsObject[i] = data == null ? string.Empty : data.ToString();
                        break;

                    case "strings":
                        if (data is IList)
                        {
                            List <string> list = new List <string>();
                            foreach (object item in (IList)data)
                            {
                                list.Add(item.ToString());
                            }
                            argsObject[i] = list.ToArray();
                        }
                        break;

                    case "ints":
                        if (data is IList)
                        {
                            List <int> list = new List <int>();
                            foreach (object item in (IList)data)
                            {
                                list.Add(Convert.ToInt32(item));
                            }
                            argsObject[i] = list.ToArray();
                        }
                        break;

                    default:
                        break;
                    }
                }

                return(argsObject.ToArray());
            }
            catch (Exception ex)
            {
                logger.Error("ConstructMethodArgs failed", ex);
                return(null);
            }
        }
Пример #5
0
        private static object[] ConstructMethodArgs(List<AjaxParam> ps, string methodJsonArgs)
        {
            ArrayList argsObject;

            try
            {
                if (string.IsNullOrEmpty(methodJsonArgs))
                    argsObject = new ArrayList() { string.Empty };
                else
                    argsObject = new Kiss.Json.JavaScriptSerializer().Deserialize<ArrayList>(methodJsonArgs);

                for (int i = 0; i < ps.Count; i++)
                {
                    AjaxParam p = ps[i];
                    string pType = p.ParamType.ToLower();
                    object data = argsObject[i];

                    switch (pType)
                    {
                        case "long":
                            argsObject[i] = Convert.ToInt64(data);
                            break;
                        case "int":
                            argsObject[i] = Convert.ToInt32(data);
                            break;
                        case "double":
                            argsObject[i] = Convert.ToDouble(data);
                            break;
                        case "bool":
                            argsObject[i] = Convert.ToBoolean(data);
                            break;
                        case "string":
                            argsObject[i] = data == null ? string.Empty : data.ToString();
                            break;
                        case "strings":
                            if (data is IList)
                            {
                                List<string> list = new List<string>();
                                foreach (object item in (IList)data)
                                {
                                    list.Add(item.ToString());
                                }
                                argsObject[i] = list.ToArray();
                            }
                            break;
                        case "ints":
                            if (data is IList)
                            {
                                List<int> list = new List<int>();
                                foreach (object item in (IList)data)
                                {
                                    list.Add(Convert.ToInt32(item));
                                }
                                argsObject[i] = list.ToArray();
                            }
                            break;
                        default:
                            break;
                    }
                }

                return argsObject.ToArray();
            }
            catch (Exception ex)
            {
                logger.Error("ConstructMethodArgs failed", ex);
                return null;
            }
        }