随笔

前言:刚毕业记录的笔记,挪过来

==MVC注意事项==

1、ajax传值时参数名要与JsonResult的参数名一样

2、MVC中DropDownList赋值

public ActionResult AddProjectBaseInfo(int? page, bool? par1)
{

int Pro_ID = page ?? 0;
bool IsLookDetail = par1 ?? false;
ViewBag.IsLookDetail = IsLookDetail;
IList<StjkSysbaseData> PRJ_TYPE = IManage.GetProject_Type();

 PRJ_TYPE .Insert(0, new StjkSysbaseData { "Value"= "0", "Name"= "请选择" });

ViewData["PRJ_TYPE"] = new SelectList(PRJ_TYPE.OrderBy(s => s.Id), "Value", "Name");

StjkProjectBaseInfo model = new StjkProjectBaseInfo();
model = IMain.GetModel<StjkProjectBaseInfo>(StjkProjectBaseInfo._.Id == Pro_ID);

return View("Project/AddProjectBaseInfo", model);

}

 

*前台页面: @Html.DropDownList("CountyId", ViewData["PRJ_TYPE"] as SelectList,new { @style = "width:50%;height:100%" })

 

public JosnResult AddProjectBaseInfo(int Id)
{

    //业务处理

    bool IsLookDetail =false;

    return Json(new { IsSucceed =IsLookDetail }, JsonRequestBehavior.AllowGet);

}

 

 

 ==MVC权限==

如果声明了多个HandleError异常过滤器,就需要使用到Order属性设置运行顺序。
Order属性默认值为-1,也是最高优先级,正常来说整数值越大优先级越低,
但是由于HandleError是继承于IExceptionFilter接口,所以优先级顺序是相反的,
也就是说整数值越大,优先级也就越大

这里有两点需要注意:
1.如果Order属性小于-1会抛出异常,所以只能设置大于等于-1的整数值。
2.如果没有设置Order属性,由于默认值都是-1(即最高优先级),会导致过滤器的执行顺序变成无序随机。

 



==触发器==

1、referencing new as n  绑定的表定义别名

n  的状态与当前触发器定义的状态相同(before/after)

代码块1:

create or replace trigger 触发器名
after INSERT OR UPDATE
ON 表1
REFERENCING NEW AS N
FOR EACH ROW
declare
chtype NUMBER(1);
countData NUMBER(1);
BEGIN
IF deleting then   //判断是新增、删除、修改
chtype:=2;
END IF;
IF inserting then
chtype:=3;
END IF;
if updating then
chtype:=1;
END IF;

IF :N.INVEST_TYPE='01' or :old.invest_type='01' THEN
SELECT COUNT(*) INTO countData from 表2  where 表2.TABLE_ID=:N.ID and 表2.Table_Name='表1' and 表2.IS_DELETE=0;
IF countData<>0 THEN
UPDATE 表2 set change_type=chtype,CREATED=sysdate where 表2.TABLE_ID=:N.ID;
ELSE
INSERT INTO 表2(id , TABLE_ID, TABLE_NAME , CHANGE_TYPE ,CREATED , IS_DELETE )
VALUES(SEQ_表2_ID.nextval,:N.ID, '表1' ,chtype , sysdate, 0 ); 
END IF;
END IF;
END;

 

 ==权限表大致设计==

【个人思考出来的,不够全面】

user表 (用户名、密码)    

role 表(身份,比如最高级管理员)

user_role 关系表(user_Id 、role_Id、Is_delete)

menue菜单父菜单、子菜单(菜单名、菜单访问路径、父级菜单Id)

role_menu 关联表(角色Id、菜单Id、is_delete、is_Menue)

*改权限时,把原有的角色删除并新加角色用户关联或新建角色,再绑定。加system_id 可适用于多系统

实例可参照:http://www.cnblogs.com/ymnets/p/3452364.html     [金蝶权限提取物]

 

 ==序列化==

JavaScriptSerializer jss = new JavaScriptSerializer();

string  json = jss.Serialize(集合);

 

 

 ==正则(以下只是举例,钱包项目有一套很全面的正则帮助类,代码太多不方便贴)==

var Phone=/^1[3458]\d{9}$/;//手机号

var Expression=/^1[45][0-9]{7}|G[0-9]{8}|P[0-9]{7}|S[0-9]{7,8}|D[0-9]+$/;//护照验证
var IDCard=/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;//身份证验证

if(!(Expression.test($("#Type").val())))

{

alert("请填写正确的护照格式");

}

 

posted @ 2016-07-20 11:43  龙喵宝宝  阅读(112)  评论(0编辑  收藏  举报