예제 #1
0
        protected override void InitializePage()
        {
            base.InitializePage();

            var httpMethod = System.Web.HttpContext.Current.Request.HttpMethod;

            object result;

            tryInvoke("init", null, out result);

            if (UrlData.Count == 0 && httpMethod == "GET")
            {
                return;
            }

            var methodName = UrlData.Count == 0 ? "index" : UrlData[0].ToLower();
            var urlArgsAll = UrlData.Select <string, object>(itm => { int iItm; if (int.TryParse(itm, out iItm))
                                                                      {
                                                                          return(iItm);
                                                                      }
                                                                      return(itm); }).ToArray();
            var urlArgsSkipFirst = UrlData.Skip(1).Select <string, object>(itm => { int iItm; if (int.TryParse(itm, out iItm))
                                                                                    {
                                                                                        return(iItm);
                                                                                    }
                                                                                    return(itm); }).ToArray();

            var writeToResponse = (IsAjax || Request["isajax"] == "1");

            if (tryInvoke(methodName, urlArgsSkipFirst))
            {
                return;
            }

            var methodName_httpMethod = methodName + "_" + httpMethod;

            if (tryInvoke(methodName_httpMethod, urlArgsSkipFirst))
            {
                return;
            }

            if (tryInvoke(httpMethod, urlArgsAll))
            {
                return;
            }
        }