protected override void request(int viewIndex, AutoCSer.Net.Http.SocketBase socket) { switch (viewIndex) { #region LOOP Views #region IF Attribute.IsPage case @PageIndex: #region IF IsPoolType #region IF IsSetPage @WebViewMethodType.FullName @PageName = @WebViewMethodType.FullName /**/.Pop(); if (@PageName == null) { setPage(@PageName = new @WebViewMethodType.FullName() /*PUSH:Attribute*/, @IsAsynchronous /*PUSH:Attribute*/, @IsAwaitMethod); } loadPage(socket, @PageName); #endregion IF IsSetPage #region NOT IsSetPage loadPage(socket, /*IF:IsPoolType*/ @WebViewMethodType.FullName /**/.Pop() ?? /*IF:IsPoolType*/ new @WebViewMethodType.FullName()); #endregion NOT IsSetPage #endregion IF IsPoolType #region NOT IsPoolType loadPage(socket, /*NOTE*/ (AutoCSer.WebView.View)(object) /*NOTE*/ new @WebViewMethodType.FullName() /*IF:IsSetPage*//*PUSH:Attribute*/, @IsAsynchronous /*PUSH:Attribute*/, @IsAwaitMethod /*IF:IsSetPage*/); #endregion NOT IsPoolType return; #endregion IF Attribute.IsPage #endregion LOOP Views }
protected override void loadView(AutoCSer.WebView.AjaxMethodInfo ajaxInfo) { switch (ajaxInfo.MethodIndex) { #region LOOP ViewMethods case @MethodIndex: #region IF IsSetPage #region IF IsPoolType @WebViewMethodType.FullName @PageName = @WebViewMethodType.FullName /**/.Pop(); if (@PageName == null) { setPage(@PageName = new @WebViewMethodType.FullName() /*PUSH:Attribute*/, @IsAsynchronous /*PUSH:Attribute*/, @IsAwaitMethod); } loadView(@PageName, ajaxInfo); #endregion IF IsPoolType #region NOT IsPoolType loadView(/*NOTE*/ (AutoCSer.WebView.View)(object) /*NOTE*/ new @WebViewMethodType.FullName(), ajaxInfo /*PUSH:Attribute*/, @IsAsynchronous /*PUSH:Attribute*/, @IsAwaitMethod); #endregion NOT IsPoolType #endregion IF IsSetPage #region NOT IsSetPage loadView(/*IF:IsPoolType*/ @WebViewMethodType.FullName /**/.Pop() ?? /*IF:IsPoolType*/ new @WebViewMethodType.FullName(), ajaxInfo); #endregion NOT IsSetPage return;
/// <summary> /// AJAX调用 /// </summary> /// <param name="callIndex"></param> /// <param name="loader"></param> protected override void callAjax(int callIndex, fastCSharp.code.cSharp.ajax.loader loader) { switch (callIndex) { #region LOOP Methods case @MethodIndex: { @WebViewMethodType.FullName view = /*IF:TypeAttribute.IsPool*/ fastCSharp.typePool <@WebViewMethodType.FullName> .Pop() ?? /*IF:TypeAttribute.IsPool*/ new @WebViewMethodType.FullName(); #region IF IsParameter @ParameterTypeName parameter = new @ParameterTypeName(); #endregion IF IsParameter fastCSharp.net.tcp.http.response response = loader.Load(view /*IF:IsInputParameter*/, ref parameter /*IF:IsInputParameter*//*PUSH:TypeAttribute*/, @IsPool /*PUSH:TypeAttribute*/); if (response != null) { int responseIdentity = view.ResponseIdentity; #region IF IsAsynchronousCallback @AsyncIndexName callback = typePool <@AsyncIndexName> .Pop() ?? new @AsyncIndexName(); #region IF IsParameter callback.Parameter = parameter; #endregion IF IsParameter view./*PUSH:Method*/ @MethodGenericName/*PUSH:Method*/ (/*LOOP:MethodParameters*//*AT:ParameterRef*/ parameter.@ParameterName, /*LOOP:MethodParameters*/ callback.Get(view, response)); #endregion IF IsAsynchronousCallback #region NOT IsAsynchronousCallback try { /*IF:MethodIsReturn*/ parameter.@ReturnName = /*NOTE*/ (@MethodReturnType.GenericParameterType.FullName) /*NOTE*//*IF:MethodIsReturn*/ view./*PUSH:Method*/ @MethodGenericName/*PUSH:Method*/ (/*LOOP:MethodParameters*//*AT:ParameterRef*/ parameter.@ParameterName /*AT:ParameterJoin*//*LOOP:MethodParameters*/); } finally { #region IF IsOutputParameter if (responseIdentity == view.ResponseIdentity) { view.AjaxResponse(ref parameter, ref response); } else { view.AjaxResponse(ref response); } #endregion IF IsOutputParameter #region NOT IsOutputParameter view.AjaxResponse(ref response); #endregion NOT IsOutputParameter } #endregion NOT IsAsynchronousCallback } } return; #endregion LOOP Methods #region LOOP ViewMethods case @MethodIndex /*NOTE*/ + 1 /*NOTE*/: loader.LoadView(/*IF:Attribute.IsPool*/ fastCSharp.typePool <@WebViewMethodType.FullName> .Pop() ?? /*IF:Attribute.IsPool*/ new @WebViewMethodType.FullName() /*PUSH:Attribute*/, @IsPool /*PUSH:Attribute*/); return; #endregion LOOP ViewMethods #region NOT IsPubError case @MethodCount - 1: pubError(loader); return; #endregion NOT IsPubError } }