App_Handler/GetTableAttributes.ashx

(开头部分) 19KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

<%@ WebHandler Language="C#" Class="GetTableAttributes" %>

using System;
using System.Web;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using MicroDBHelper;
using MicroPublicHelper;
using MicroAuthHelper;

public class GetTableAttributes : IHttpHandler, System.Web.SessionState.IRequiresSessionState
{

    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/plain";
        MicroAuth.CheckLogin();
        string flag = "False",
                ShortTableName = context.Server.UrlDecode(context.Request.QueryString["stn"]),
                ModuleID = context.Server.UrlDecode(context.Request.QueryString["moduleid"]);

        //测试值
        //ShortTableName = "ITGenForm";

        //用于判断是否有编辑表格权限
        Boolean EditTablePermit = MicroAuth.CheckPermit(ModuleID, "11");

        if (!string.IsNullOrEmpty(ShortTableName))
            flag = GetTableAttr(ShortTableName, EditTablePermit);

        context.Response.Write(flag);
    }

    /// <summary>
    /// 获取表格的全局属性,应用于生成Layui数据表
    /// </summary>
    /// <returns></returns>
    private string GetTableAttr(string ShortTableName, Boolean EditTablePermit)
    {
        string flag = "False", TableName = string.Empty, Cols = string.Empty;
        TableName = MicroPublic.GetTableName(ShortTableName);

        string tbElem = string.Empty, tbURL = string.Empty, tbData = string.Empty, tbToolbar = string.Empty, tbDefaultToolbar = string.Empty, tbTitle = string.Empty, tbText = string.Empty, tbInitSort = string.Empty, tbID = string.Empty, tbSkin = string.Empty, tbEven = string.Empty, tbSize = string.Empty, tbWidth = string.Empty, tbHeight = string.Empty, tbCellMinWidth = string.Empty, tbPage = string.Empty, tbLimit = string.Empty, tbLimits = string.Empty, tbTotalRow = string.Empty, tbLoading = string.Empty, tbAutoSort = string.Empty, tbDone = string.Empty, tbMainSub = string.Empty, colWidth = string.Empty, colMinWidth = string.Empty, colFixed = string.Empty, colType = string.Empty, colAlign = string.Empty, colEdit = string.Empty, colEvent = string.Empty, colStyle = string.Empty, colCheckedAll = string.Empty, colSort = string.Empty, colHide = string.Empty, colUnReSize = string.Empty, colTotalRow = string.Empty, colTotalRowText = string.Empty, colTemplet = string.Empty, colToolbar = string.Empty;

        int inttbWidth = 0, inttbHeight = 0, inttbCellMinWidth = 0, inttbLimit = 0;

        //cols的内容
        string _colType = string.Empty, _colCheckedAll = string.Empty, _colFixed = string.Empty, _colToolbar = string.Empty;

        string strTpl = "\"TID\":\"{0}\",\"ParentID\":\"{1}\",\"TabColName\":\"{2}\",\"DataType\":\"{3}\",\"FieldLength\":\"{4}\",\"DefaultValue\":\"{5}\",\"AllowNull\":\"{6}\",\"Description\":\"{7}\",\"Invalid\":\"{8}\",\"Del\":\"{9}\",\"MainSub\":\"{10}\",\"InJoinSql\":\"{11}\",\"Sort\":\"{12}\",\"PrimaryKey\":\"{13}\",\"Title\":\"{14}\",\"tbElem\":\"{15}\",\"tbURL\":\"{16}\",\"tbData\":\"{17}\",\"tbToolbar\":\"{18}\",\"tbDefaultToolbar\":\"{19}\",\"tbTitle\":\"{20}\",\"tbText\":\"{21}\",\"tbInitSort\":\"{22}\",\"tbID\":\"{23}\",\"tbSkin\":\"{24}\",\"tbEven\":\"{25}\",\"tbSize\":\"{26}\",\"tbWidth\":\"{27}\",\"tbHeight\":\"{28}\",\"tbCellMinWidth\":\"{29}\",\"tbPage\":\"{30}\",\"tbLimit\":\"{31}\",\"tbLimits\":\"{32}\",\"tbTotalRow\":\"{33}\",\"tbLoading\":\"{34}\",\"tbAutoSort\":\"{35}\",\"tbDone\":\"{36}\",\"Cols\":\"{37}\",\"Tips\":\"{38}\",\"CtrlTableContJS\":\"{39}\"";

        StringBuilder sb = new StringBuilder();
        try
        {
            string _sql = "select * from MicroTables where JoinTableColumn=1 and Invalid=0 and Del=0 and ( TabColName =@TableName or ParentID in (select TID from MicroTables where TabColName =@TableName)) order by ParentID,Sort ";
            SqlParameter[] _sp = { new SqlParameter("@TableName", SqlDbType.VarChar, 100) };
            _sp[0].Value = TableName;
            DataTable _dt = MsSQLDbHelper.Query(_sql, _sp).Tables[0];

后面还有 327 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。