欢迎光临
我们一直在努力

最近开发一个小型的OA-ASP教程,ASP应用

建站超值云服务器,限时71元/月

1.判断权限部分的代码

int i=convert.toint32((string)session["user_flag"]);

switch(i)

{//根据权限执行不同的sql语句

case 0://管理员

e.item.cells[9].visible=false;

break;

case 1://厅领导

e.item.cells[6].visible=false;

e.item.cells[7].visible=false;

e.item.cells[8].visible=false;

e.item.cells[9].visible=false;

break;

case 2://省律师协会

e.item.cells[8].visible=false;

break;

case 3://省律师处

e.item.cells[8].visible=false;

break;

case 4://市律师协会

e.item.cells[8].visible=false;

break;

case 5://市律师处

e.item.cells[8].visible=false;

break;

case 6://省直律师事务所

e.item.cells[8].visible=false;

break;

}

2.根据linkbutton来动态显示或者隐藏某些控件

private void linkbutton2_click(object sender, system.eventargs e)

{

linkbutton lb=(linkbutton)sender;

panel1.visible=lb.commandname=="yes";

lb.commandname=(lb.commandname=="no")?"yes":"no";

}

3.设置标题列的背景颜色

private void dg1_itemcreated(object sender, system.web.ui.webcontrols.datagriditemeventargs e)

{

if(e.item.itemtype==listitemtype.header)

{//设置标题列的背景颜色

for(int j=0;j<e.item.cells.count;j++)

{

//e.item.cells[j].backcolor=color.fromname("#ffff66");

e.item.cells[j].cssclass="title";

}

}

}

4.本程序所用样式表

body

{

font-size:12px;

}

table{

border-collapse:collapse;

border: 1px solid #28ace2;

word-wrap:break-word;

}td {

border: 1px solid #28ace2;

background-color: #e7f8ff;

font-size: 12px;

}

a {

color: #003399;

text-decoration: none;

}

a:hover {

color: #003366;

}

.title

{

background-color:#ffff66;

}

5.多条件高级查询

void bindgrid(string word1,string word2)

{

sqlconnection myconn=oa.cls.globalstate.getconnection();

string sql=@"select * from [suo] where ([id] is not null)";//因为id是主键,所以不可能为null,这是个小技巧

if(convert.toint32((string)session["user_flag"])==0)

{//如果是管理员就只能看到已经提交的信息

sql=@"select * from [suo] where [is]<>0";

}

if(word1!=""){sql+=" and ([name] like %"+word1+"%)";}//加一个判断条件,注意语句开头有一个空格

if(word2!=""){sql+=" and ([zhiye] like %"+word2+"%)";}//加一个判断条件,注意语句开头有一个空格

sql+=" order by id desc";

response.write(sql);

sqldataadapter da=new sqldataadapter(sql,myconn);

dataset ds=new dataset();

da.fill(ds,"suo");

dg1.datasource=ds.tables[0].defaultview;

dg1.databind();

}

6.动态改变数据绑定列在编辑时自动生成的textbox

private void dg1_itemcreated(object sender, system.web.ui.webcontrols.datagriditemeventargs e)

{

if (e.item.itemtype == listitemtype.edititem)

{//在编辑是让第3个数据帮定列自动生成的textbox成为多行的

textbox tb=e.item.cells[2].controls[0] as textbox;

if(tb!=null)

{

tb.textmode=textboxmode.multiline;

}

}

}

7.给删除添加确认

private void dg1_itemdatabound(object sender, system.web.ui.webcontrols.datagriditemeventargs e)

{

if(e.item.itemtype==listitemtype.item||e.item.itemtype==listitemtype.alternatingitem)

{

//给删除加上确认

linkbutton lbtdelete = e.item.cells[4].controls[0] as linkbutton;

if (lbtdelete!=null)

{

lbtdelete.attributes.add("onclick","var d = 您确定要删除吗?;return window.confirm(d);");

}

}

}

8.datagrid更新数据

private void dg1_updatecommand(object source, system.web.ui.webcontrols.datagridcommandeventargs e)

{//更新记录

string sql=@"update [suo_jl]set jibie=@jibie,neirong=@neirong where id=@id";

sqlparameter[]parameters={

new sqlparameter("@id",sqldbtype.int,4),

new sqlparameter("@jibie",sqldbtype.varchar,200),

new sqlparameter("@neirong",sqldbtype.text,16),

};

parameters[0].value=(int)dg1.datakeys[e.item.itemindex];//获取正在编辑的列的主键id

parameters[1].value=((dropdownlist)e.item.findcontrol("dropdownlist1")).selectedvalue;//此列为模板列,所以要用findcontrol方法

parameters[2].value=((textbox)e.item.cells[2].controls[0]).text;//此列为数据绑定列,直接用cell集合就能访问

oa.cls.globalstate.runsql(sql,parameters);

dg1.edititemindex=-1;//设置编辑索引为-1,要不老显示在编辑模式

bindgrid();//绑定表格

}

9.datagrid删除数据

private void dg1_deletecommand(object source, system.web.ui.webcontrols.datagridcommandeventargs e)

{

string sql=@"delete from [suo_jl] where id=@id";

sqlparameter[]parameters={new sqlparameter("@id",sqldbtype.int,4)};

parameters[0].value=(int)dg1.datakeys[e.item.itemindex];//获取datagrid的datakeys集合,需要在页面上指定

oa.cls.globalstate.runsql(sql,parameters);

bindgrid();//最后还要绑定数据

}

10.datagrid编辑和取消编辑数据

private void dg1_cancelcommand(object source, system.web.ui.webcontrols.datagridcommandeventargs e)

{

dg1.edititemindex=-1;

bindgrid();

}

private void dg1_editcommand(object source, system.web.ui.webcontrols.datagridcommandeventargs e)

{

dg1.edititemindex=(int)e.item.itemindex;

bindgrid();

}

11.执行存储过程和sql语句

public static int runsp(string sql,sqlparameter[] parameters)

{

//执行存储过程

sqlconnection conn=getconnection();

sqlcommand cmd=new sqlcommand(sql,conn);

cmd.commandtype = commandtype.storedprocedure;

for(int i=0;i<parameters.length;i++)

{

cmd.parameters.add(parameters[i]);

}

try

{

conn.open();

return cmd.executenonquery();

}

catch(exception exp){throw exp;}

finally{conn.close();}

}

public static int runsql(string sql,sqlparameter[] parameters)

{

//执行sql语句

sqlconnection conn=getconnection();

sqlcommand cmd=new sqlcommand(sql,conn);

foreach(sqlparameter pr in parameters)

{

cmd.parameters.add(pr);

}

try

{

conn.open();

return cmd.executenonquery();

}

catch(exception exp){throw exp;}

finally{conn.close();}

}

12.获取数据库连接实例

public static sqlconnection getconnection()

{

/*

* 获取数据库连接实例

*/

sqlconnection myconn;

myconn=new sqlconnection((string)configurationsettings.appsettings["connstring"]);

return myconn;

}

13.生成随机数

public static string makerand(string s, int len)

{

//返回一个随机数,从s里选,然后返回len长度的随机数

if (s==null || s=="") throw new myexception("string:s not null");

string tmpstr = "";

int irandnum;

random rnd = new random();

for(int i=0;i<len;i++)

{

irandnum = rnd.next(s.length);

tmpstr += s[irandnum];

}

return tmpstr;

}

public static string makerand(int len)

{

//上一个函数的重载版本

string str;

str="abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz";

return makerand(str,len);

}

14.我自己写的上传函数

public static string upfile(system.web.ui.page p,system.web.ui.htmlcontrols.htmlinputfile file1){

//上传文件

if (file1.postedfile != null)

{

try

{

string spath=p.server.mappath(p.request.applicationpath)+configurationsettings.appsettings["uppath"];

string fpath=oa.cls.globalstate.makerand(10)+system.io.path.getfilename(file1.postedfile.filename);

spath+=fpath;

file1.postedfile.saveas(spath);

return fpath;

}

catch (exception exc)

{

throw exc;

}

}

return "";

}

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 最近开发一个小型的OA-ASP教程,ASP应用
分享到: 更多 (0)

相关推荐

  • 暂无文章