20220717 pagebase
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -13482,9 +13482,7 @@
|
||||
<Compile Include="LogOff.aspx.designer.cs">
|
||||
<DependentUpon>LogOff.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="common\PageBase.cs">
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="common\PageBase.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="ReportPrint\CalculateChinaEx.aspx.cs">
|
||||
<DependentUpon>CalculateChinaEx.aspx</DependentUpon>
|
||||
|
||||
@@ -3,6 +3,7 @@ using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
@@ -14,8 +15,46 @@ using AspNet = System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUIPro.Web
|
||||
{
|
||||
//必须要修改form传过来的F_STATE,否则加了__hook的base64编码无效识别
|
||||
public static class GlobalValues
|
||||
{
|
||||
public static PropertyInfo NameObjectCollectionBaseIsReadOnly;
|
||||
|
||||
static GlobalValues()
|
||||
{
|
||||
Type type = typeof(NameObjectCollectionBase);
|
||||
NameObjectCollectionBaseIsReadOnly = type.GetProperty(
|
||||
"IsReadOnly",
|
||||
BindingFlags.Instance | BindingFlags.NonPublic);
|
||||
}
|
||||
}
|
||||
|
||||
public class PageBase : System.Web.UI.Page
|
||||
{
|
||||
protected override void OnPreRenderComplete(EventArgs e)
|
||||
{
|
||||
base.OnPreRenderComplete(e);
|
||||
foreach (var t in Assembly.GetAssembly(this.GetType()).GetTypes())
|
||||
{
|
||||
if (t.IsSubclassOf(typeof(PageBase)))
|
||||
{
|
||||
var fi = t.GetField("mainFrame", BindingFlags.NonPublic | BindingFlags.Instance);
|
||||
if (fi != null)
|
||||
{
|
||||
var f = fi.GetValue(this) as System.Web.UI.HtmlControls.HtmlForm;
|
||||
if (f != null)
|
||||
{
|
||||
Label l = new Label
|
||||
{
|
||||
Text = "<script>_oldParam = jQuery.param;jQuery.param = function (x) { var t = _oldParam(x); t = t.replace('F_STATE=', 'F_STATE=__hook'); return t;}</script>"
|
||||
};
|
||||
f.Controls.Add(l);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 当前登录人信息。
|
||||
/// </summary>
|
||||
@@ -42,6 +81,25 @@ namespace FineUIPro.Web
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnPreInit(EventArgs e)
|
||||
{
|
||||
|
||||
//增加修改权限
|
||||
GlobalValues.NameObjectCollectionBaseIsReadOnly.SetValue(Request.QueryString, false, null);
|
||||
GlobalValues.NameObjectCollectionBaseIsReadOnly.SetValue(Request.Form, false, null);
|
||||
|
||||
//修复__hook头标识
|
||||
if (Request.Form["F_STATE"] != null)
|
||||
{
|
||||
var fs = Request.Form["F_STATE"];
|
||||
if (fs.StartsWith("__hook"))
|
||||
{
|
||||
fs = fs.Substring(6);
|
||||
Request.Form["F_STATE"] = fs;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#region OnInit
|
||||
|
||||
protected override void OnInit(EventArgs e)
|
||||
@@ -182,11 +240,25 @@ namespace FineUIPro.Web
|
||||
//anyway,its ok.
|
||||
|
||||
this.Title = BLL.Funs.SystemName;
|
||||
//if (CurrUser == null)
|
||||
if (CurrUser == null)
|
||||
{
|
||||
if (this.Page.Request.AppRelativeCurrentExecutionFilePath != "~/Login.aspx")
|
||||
Response.Redirect("~/Login.aspx");
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnPreRender(EventArgs e)
|
||||
{
|
||||
base.OnPreRender(e);
|
||||
//var u = Request.ApplicationPath.TrimStart('/');
|
||||
//u=u.TrimEnd('/');
|
||||
//if (!string.IsNullOrEmpty(u)) { u = "/" + u; }
|
||||
//try
|
||||
//{
|
||||
// if (this.Page.Request.AppRelativeCurrentExecutionFilePath != "~/Login.aspx")
|
||||
// Response.Redirect("~/Login.aspx");
|
||||
// MainForm.InnerHtml += "<script type='text/javascript' src='" + u + "/res/js/hook.js" + "'></script>";
|
||||
//}
|
||||
//catch { }
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -201,6 +273,11 @@ namespace FineUIPro.Web
|
||||
{
|
||||
BLL.Funs.DBList.Remove(System.Threading.Thread.CurrentThread.ManagedThreadId);
|
||||
}
|
||||
|
||||
if (BLL.SQLHelper.GetConn().State == ConnectionState.Open)
|
||||
{
|
||||
BLL.SQLHelper.GetConn().Close();
|
||||
}
|
||||
}
|
||||
|
||||
private bool IsSystemTheme(string themeName)
|
||||
|
||||
Reference in New Issue
Block a user