예제 #1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request["deleteFile"] == null)
        {
            base.InitModule(ref valObj, ref KeyID, ref fieldList);
        }

        //在列表里点击删除按钮,通过AJAX执行这里的后台代码,删除一条记录
        if (Request["DelID"] != null)
        {
            valObj.SetValue(valObj.KeyID, Request["DelID"]);
            int re = BLLTable <ITableImplement> .Factory(conn).Delete(valObj);

            if (re > 0)
            {
                Response.Write("1");//可以输出数字 大于0 表示操作成功,也可以直接输出 字符串,客户端将弹出此字符串信息作为提示
            }
            else
            {
                Response.Write("删除失败!");
            }
        }

        //在列表顶部点击删除按钮,通过AJAX执行这里的后台代码,删除多条记录
        if (Request["DelKeyIDS"] != null)
        {
            ITableImplement cond = valObj;
            cond.In(AttributeItem.Factory(cond.DataBaseTable.IDField), Request["DelKeyIDS"]);
            int re = BLLTable <ITableImplement> .Factory(conn).Delete(cond);

            if (re > 0)
            {
                Response.Write("1");//可以输出数字 大于0 表示操作成功,也可以直接输出 字符串,客户端将弹出此字符串信息作为提示
            }
            else
            {
                Response.Write("删除失败!");
            }
        }

        //在用户详细信息查看编辑页面,点保存时,通过AJAX执行这里的后台代码,实现部门字段的更新
        if (Request["saveInfo"] != null)
        {
            valObj.SetValue(valObj.KeyID, Request["FieldKeyID"]);
            List <AttributeItem> lstCol = valObj.af_AttributeItemList;
            for (int i = 0; i < lstCol.Count; i++)
            {
                if (!string.IsNullOrEmpty(Request["txt" + lstCol[i].FieldName]))
                {
                    valObj.SetValue(lstCol[i], Request["txt" + lstCol[i].FieldName]);
                }
            }
            BLLTable <ITableImplement> .Factory(conn).Update(valObj, valObj.KeyID);

            Response.Write("修改记录信息成功");
        }
        //删除本地文件
        if (Request["deleteFile"] != null)
        {
            //string filepath=WebHelper.GetAppPath() + Request["fileName"];
            string filepath = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + Request["fileName"];;
            if (File.Exists(filepath))
            {
                File.Delete(filepath);
            }
        }
        //分页AJAX请求
        if (Request["paging"] != null)
        {
            int pageSize = 10; int pageIndex = 1; int count1 = -1;

            pageIndex = Convert.ToInt32(HttpUtil.GetReqStrValue("pageIndex"));
            int           num = Convert.ToInt32(HttpUtil.GetReqStrValue("num"));;
            StringBuilder sb  = new StringBuilder();
            try
            {
                //DataBaseField[] flist = valObj.af_GetAvailableDataBaseField();
                //foreach (DataBaseField f1 in flist)
                {
                    //父表的id
                    object id1 = HttpUtil.GetReqStrValue("id1");

                    string tableName1 = "关系表1";
                    if (valObj.DataBaseTable.SubTable_ChaZhao.Count > 0)
                    {
                        // foreach (DataBaseTableRelation dr1 in valObj.DataBaseTable.SubTable_ChaZhao)
                        //{
                        DataBaseTableRelation dr1    = valObj.DataBaseTable.SubTable_ChaZhao[num];
                        DataBaseTable         table2 = dr1.DataBaseTable;
                        tableName1 = table2.TableName;
                        DataBaseField   IDField   = dr1.DataBaseTable.IDField;
                        DataBaseField   NameField = dr1.DataBaseTable.NameField;
                        List <Relation> lstRel    = new List <Relation>();
                        foreach (DataBaseRelation r1 in dr1.Relations)
                        {
                            lstRel.Add(new Relation(r1));
                        }
                        ITableImplement value2 = new ITableImplement(table2);

                        ITableImplement cond2 = new ITableImplement(table2);
                        cond2.SetValue(AttributeItem.Factory(value2.DataBaseTable.FatherTable_ChaZhao[0].DataBaseTable.IDField), id1);
                        List <ITableImplement> lstCond = new List <ITableImplement>();
                        lstCond.Add(cond2);

                        List <ITableImplement> lstOther = new List <ITableImplement>();



                        //显示明显表的 父表的信息
                        //value2.setConn(conn).setModule("WEC_QC_CARS");
                        List <ITableImplement> list2 = BLLTable <ITableImplement> .Factory(conn).SelectByPage(value2, lstRel, lstOther, lstCond,
                                                                                                              pageSize, pageIndex, ref count1);

                        //  BLLTable.SQL_Test.ToString();
                        if (list2.Count > 0)
                        {
                            foreach (ITableImplement tb2 in list2)
                            {
                                sb.Append("<tr>");
                                foreach (DataBaseField d2 in tb2.af_GetAvailableDataBaseField())
                                {
                                    sb.Append("<td>" + GetHtmlList(d2, tb2) + "");
                                }
                                sb.Append("</tr>");
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
            }
            Response.Write(sb.ToString());
        }

        //下载文件
        if (Request["download"] != null)
        {
            string filename = Request["filename"];
            string fullpath = Request.PhysicalApplicationPath + filename;
            Response.ContentType = "APPLICATION/OCTET-STREAM";
            Response.AddHeader("Content-Disposition", "attachment;filename=" + filename.Substring(filename.LastIndexOf("/") + 1));
            FileStream fs  = new FileStream(fullpath, FileMode.Open);
            int        len = (int)fs.Length;
            byte[]     buf = new byte[len];
            int        count;
            int        sum = 0;

            while ((count = fs.Read(buf, 0, len)) > 0)
            {
                sum += count;
                Response.OutputStream.Write(buf, 0, count);
            }
        }
        Response.End();
    }