欢迎光临
我们一直在努力

.net中一些所封装的类-.NET教程,.NET Framework

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

using system;

using system.io;

using system.web;

using system.data;

using system.web.ui;

using system.collections;

using system.web.ui.webcontrols;

using microsoft.web.ui.webcontrols;

using system.drawing;

using system.text;

using owc;

namespace jsl.mvc.page

{

/// <summary>

/// controls 的摘要说明。

/// </summary>

public class controls

{

private controls()

{

}

#region string

public static string encrypto(string source)

{

system.security.cryptography.hashalgorithm hashcryptoservice;

hashcryptoservice = new system.security.cryptography.sha1managed();

byte[] bytin = system.text.utf8encoding.utf8.getbytes(source);

byte[] bytout = hashcryptoservice.computehash(bytin);

return convert.tobase64string(bytout);

}

#endregion

#region basedatalist

public void bindbaselist(system.web.ui.webcontrols.basedatalist bdl_object,dataset ds, string tbname)

{

bdl_object.datasource=ds.tables[tbname];

bdl_object.databind();

}

public void bindbaselist(system.web.ui.webcontrols.basedatalist bdl_object,datatable dt)

{

bdl_object.datasource=dt;

bdl_object.databind();

}

#endregion

#region dropdownlist

public static void createdropdownlist(dropdownlist ddl_object, datatable dt, string s_text,string s_value)

{

ddl_object.datasource = dt;

ddl_object.datatextfield = s_text;

ddl_object.datavaluefield = s_value;

ddl_object.databind();

}

public static void createdropdownlist(dropdownlist ddl_object, dataset ds, string s_text,string s_value)

{

ddl_object.datasource = ds;

ddl_object.datatextfield = s_text;

ddl_object.datavaluefield = s_value;

ddl_object.databind();

}

public static void createdropdownlist(dropdownlist ddl_object, string s_text, string s_value)

{

listitem li = new listitem(s_text, s_value);

ddl_object.items.add(li);

}

public static void createdropdownlist(dropdownlist ddl_object, string[] s_text, string[] s_value)

{

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

{

listitem li = new listitem(s_text[i],s_value[i]);

ddl_object.items.add(li);

}

}

public static void copydropdownlist(dropdownlist ddl_source, dropdownlist ddl_target)

{

ddl_target.items.clear();

ddl_target.datatextfield = ddl_source.datatextfield;

ddl_target.datatextformatstring = ddl_source.datatextformatstring;

ddl_target.datavaluefield = ddl_source.datavaluefield;

for (int i = 0; i < ddl_source.items.count; i++)

{

ddl_target.items.add(ddl_source.items[i]);

}

}

public static void setdropdownlistvalue(dropdownlist ddl_object, string s_value)

{

foreach(listitem li in ddl_object.items)

{

if (li.value == s_value)

{

ddl_object.selectedvalue = s_value;

break;

}

else

{

ddl_object.selectedvalue = null;

}

}

}

public static void setdropdownlistvalue(dropdownlist[] ddl_object,string[] s_value)

{

int i = 0;

foreach(dropdownlist ddl in ddl_object)

{

setdropdownlistvalue(ddl,s_value[i++]);

}

}

#endregion

#region textbox

protected static void copytextbox(textbox tb_source, textbox tb_target)

{

tb_target.text = tb_source.text;

}

protected static void settextboxvalue(textbox tb_object, string s_value)

{

tb_object.text = s_value;

}

protected static void settextboxvalue(textbox[] tb_object,string[] s_value)

{

int i = 0;

foreach(textbox dt in tb_object)

{

settextboxvalue(dt,s_value[i++]);

}

}

#endregion

#region treeview

/// <summary>

/// 创建树形结构

/// </summary>

/// <param name="dt">要传入的数据表</param>

/// <param name="treenodecollection">树结点容器集合</param>

/// <param name="mapnodedata">结点主键</param>

/// <param name="maptext">显示内容</param>

/// <param name="mapnavigateurl">导航路径</param>

/// <param name="imageurl">图片地址</param>

/// <param name="parentname">结点父键</param>

/// <param name="relationoperation">结点过滤关系运算符</param>

/// <param name="parentvalue">运算比较值</param>

/// <param name="parentvaluetype">比较值类型</param>

/// <param name="sortexpression">排序方式</param>

/// <param name="bcheckbox">选择框显示与否</param>

/// <param name="mapstatus">选择框的内容</param>

/// <param name="maptarget">用于树保存时的分层标记</param>

public static void createviewtree(datatable dt, treenodecollection treenodecollection,

string mapnodedata, string maptext, string mapnavigateurl, string parentname,

string relationoperation, string parentvalue, string parentvaluetype,string sortexpression,

bool bcheckbox, string mapstatus, string maptarget)

{

if (parentvaluetype == "") parentvalue = parentvaluetype + parentvalue + parentvaluetype;

string str = parentname + relationoperation + parentvalue;

datarow[] drs = dt.select( parentname + relationoperation + parentvalue, sortexpression);

foreach(datarow dr in drs)

{

treenode treenode = new treenode();

treenode.text = dr[maptext].tostring();

try

{

treenode.navigateurl = dr[mapnavigateurl].tostring();

}

catch{treenode.navigateurl = "";}

treenode.checkbox = bcheckbox;

if (maptarget != "" && maptarget != null) treenode.treenodexsltsrc = dr[maptarget].tostring();

if (treenode.checkbox)

{

bool bcheck ;

try

{

bcheck = (dr[mapstatus].tostring() == "1");

}

catch{bcheck = false;}

treenode.checked =bcheck ;

}

string treenodenodedata = treenode.nodedata = dr[mapnodedata].tostring();

treenodecollection.add(treenode);

if (parentvaluetype == "") treenodenodedata =parentvaluetype+ treenodenodedata + parentvaluetype;

datarow[] tmpdrs = dt.select(parentname + relationoperation + treenodenodedata, sortexpression);

if ( tmpdrs.length > 0)

{

createviewtree(dt,treenode.nodes,mapnodedata,maptext,mapnavigateurl,parentname,relationoperation,treenode.nodedata,parentvaluetype,sortexpression,bcheckbox,mapstatus,maptarget);

}

}

}

#endregion

#region session

public static bool checksession(string checksession,system.web.ui.page webpage)

{

bool b=false;

foreach(string stmp in webpage.session.keys)

{

if (stmp.equals(checksession))

{

b = true;

break;

}

}

return b;

}

public static void checksession(string checksession,system.web.ui.page webpage,string errorpage)

{

bool b=false;

foreach(string stmp in webpage.session.keys)

{

if (stmp.equals(checksession))

{

b = true;

break;

}

}

if (!b) webpage.response.redirect(errorpage);

}

#endregion

#region reponse

public static void responsepage(system.web.ui.page webpage,string surl,string schoose)

{

try

{

switch(schoose)

{

case "1":

webpage.response.write("<script>window.location.href="+surl+";</script>");

break;

case "2":

webpage.server.transfer(surl );

break;

case "3":

webpage.response.redirect(surl);

break;

case "debug":

webpage.response.write("<script>alert("+surl+")</script>");

break;

default :

webpage.response.write(surl);

break;

}

}

catch

{

webpage.response.write("error url:"+surl);

}

}

#endregion

#region server to client javascript

public void javascript(string alert ,system.web.ui.page webpage)

{

webpage.registerstartupscript("script","<script language=javascript>alert("+alert+");</script>");

}

#endregion

#region split datagrid

public static string[] splitpage(system.web.ui.page curpage,datagrid dgsplit,datatable dtsplit,int irowssplitpage )

{

string page_object = "page"+dgsplit.id;

string spage = "1";

int icurpage = 1;

if (curpage.request.querystring[page_object]!=null) spage = curpage.request.querystring[page_object].tostring();

try { icurpage = int32.parse(spage); }

catch { icurpage = 1; }

int start = (int)((icurpage – 1) * irowssplitpage);

if (start < 0) start = 0;

int to = (int)(icurpage * irowssplitpage);

dataview dv = dtsplit.defaultview;

int iresults = dv.count;

int a1=0;

int ipagecount = math.divrem(iresults,irowssplitpage,out a1);

if (a1>0) ipagecount++;

if (icurpage > ipagecount || icurpage<= 0) icurpage = 1;

if (icurpage == ipagecount) to = dv.count;

datatable dt = dv.table.clone();

datarow dr;

for(int i=start;i<iresults;i++)

{

if(i<to)

{

dr = dt.newrow();

for(int k=0;k<dv.table.columns.count;k++)

{

// if (k==0)

// dr[k] = iresults – i;

// else

dr[k] = dv.table.rows[i][k];

}

dt.rows.add(dr);

}

}

dt.acceptchanges();

dataview dvresult = new dataview(dt);

dgsplit.datasource = dvresult;

dgsplit.databind();

// dgsplit.visible = !(dvresult.count == 0);

string strnav = "";

int iendpage = ipagecount;

strnav += "<a href=?"+page_object+"="+ 1.tostring() + ">首 页</a> ";

if (icurpage>1)

{

strnav += "<a href=?"+page_object+"="+ (icurpage – 1).tostring() + ">上 页</a> ";

}

else

{

strnav += " 上 页 ";

}

if (icurpage>11)

{

strnav += "<a href=?"+page_object+"=1>1</a> …";

}

if (ipagecount > icurpage + 10) iendpage = icurpage + 10;

for (int i = icurpage – 10; i < iendpage + 1; i++)

{

if(i>=1)

{

if (i==icurpage)

{

strnav +="<font color=#990000><strong>"+ i.tostring() + "</strong></font> ";

}

else

{

strnav += "<a href=?"+page_object+"="+ i.tostring() + ">"+ i.tostring() +"</a> ";

}

}

}

if ((icurpage+10) < ipagecount)

strnav += "… <a href=?"+page_object+"="+ ipagecount.tostring() + ">"+ ipagecount.tostring() + "</a>";

if (icurpage < ipagecount)

{

strnav += " <a href=?"+page_object+"="+ (icurpage+1).tostring() + ">下 页</a> ";

}

else

{

strnav += " 下 页 ";

}

strnav += " <a href=?"+page_object+"="+ (ipagecount).tostring() + ">末 页</a> ";

string[] strnavresult = new string[2];

strnavresult[0] = strnav;

strnavresult[1] = "[共"+ iresults.tostring() +"条][第"+ (start+1).tostring() +"-"+ to.tostring() +"条][共"+ ipagecount.tostring() +"页]" ;

return strnavresult;

}

#endregion

#region datagrid to excel

public static void datagrid2excel(datagrid dg, string filename)

{

owc.spreadsheetclass xlsheet = new spreadsheetclass();

int ihead = 0;

foreach(datagridcolumn dgc in dg.columns)

{

xlsheet.activesheet.cells[1, ihead + 1] = dgc.headertext;

// xlsheet.get_range(xlsheet.cells[1, 1], xlsheet.cells[1, i + 1]).font.bold = true;

// xlsheet.get_range(xlsheet.cells[1, 1], xlsheet.cells[1, i + 1]).font.color = "red";

ihead++;

}

int icols = dg.items[0].cells.count;

for (int j = 0; j < dg.items.count; j++)

{

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

{

xlsheet.activesheet.cells[j + 2, i + 1] = dg.items[j].cells[i].text.replace("&nbsp;"," ");

}

}

try

{

//system.web.httpcontext.current.server.mappath

xlsheet.activesheet.export(filename, owc.sheetexportactionenum.ssexportactionopeninexcel);

}

catch

{

return;

}

}

#endregion

#region hostname

public static string gethostname()

{

return system.net.dns.gethostname();

}

public static system.net.iphostentry gethostbyname(string hostname)

{

return system.net.dns.gethostbyname(hostname);

}

#endregion

#region process

private void killprocess(string processname)

{

system.diagnostics.process myproc= new system.diagnostics.process();

//得到所有打开的进程

try

{

foreach (system.diagnostics.process thisproc in system.diagnostics.process.getprocessesbyname(processname))

{

if(!thisproc.closemainwindow())

{

thisproc.kill();

}

}

}

catch(exception exc)

{

;

}

}

#endregion

#region execel

/// <summary>

/// class to export a number of web controls to excel.

/// pass buildexceltable your control, then call exporttobrowser() to write down to the browser.

/// this will open a new instance of excel.

/// if you want to open the excel file in the current browser window, comment out the response.addheader line.

/// </summary>

public class excelwriter

{

protected string m_szexcelhtnml;

private string szfilename;

private bool bstripbreaks;

public void buildexceltable(object dg)

{

//header styles

stringwriter sw = new stringwriter();

htmltextwriter ht = new htmltextwriter(sw);

string sobjecttypename = dg.gettype().name.tostring();

switch (sobjecttypename)

{

case "datagrid":

((datagrid)dg).showheader = true;

((datagrid)dg).rendercontrol(ht);

break;

case "datalist":

((datalist)dg).rendercontrol(ht);

break;

case "textbox":

((textbox)dg).rendercontrol(ht);

break;

case "label":

ht.write(((label)dg).text);

break;

case "tablerow":

ht.write("<table>");

((tablerow)dg).rendercontrol(ht);

ht.write("</table>");

break;

case "table":

((table)dg).rendercontrol(ht);

break;

default:

break;

}

m_szexcelhtnml += sw.tostring();

}

public void exporttobrowser()

{

if(szfilename == "" || szfilename == null)

{

szfilename = "excelfile.xls";

}

if(bstripbreaks)

{

m_szexcelhtnml = m_szexcelhtnml.replace("<br>", " ");

m_szexcelhtnml = m_szexcelhtnml.replace("<br>", " ");

}

httpcontext.current.response.clear();

httpcontext.current.response.clearheaders();

httpcontext.current.response.addheader("content-disposition", "attachment; filename=" + szfilename);

httpcontext.current.response.contenttype = "application/vnd.ms-excel";

httpcontext.current.response.write(m_szexcelhtnml);

httpcontext.current.response.flush();

httpcontext.current.response.end();

}

public string filename

{

get

{

return szfilename;

}

set

{

szfilename = value;

}

}

public bool stripbreaktags

{

get

{

return bstripbreaks;

}

set

{

bstripbreaks = value;

}

}

}

#endregion

#region pdf

public class pdfgenerator

{

static float pagewidth = 594.0f;

static float pagedepth = 828.0f;

static float pagemargin = 30.0f;

static float fontsize = 20.0f;

static float leadsize = 10.0f;

static streamwriter ppdf=new streamwriter("e:\\mypdf.pdf");

static memorystream mpdf= new memorystream();

static void converttobyteandaddtostream(string strmsg)

{

byte[] buffer=null;

buffer=asciiencoding.ascii.getbytes(strmsg);

mpdf.write(buffer,0,buffer.length);

buffer=null;

}

static string xrefformatting(long xvalue)

{

string strmsg =xvalue.tostring();

int ilen=strmsg.length;

if (ilen<10)

{

stringbuilder s=new stringbuilder();

int i=10-ilen;

s.append(0,i);

strmsg=s.tostring() + strmsg;

}

return strmsg;

}

static void main(string[] args)

{

arraylist xrefs=new arraylist();

//byte[] buffer=null;

float ypos =0f;

long streamstart=0;

long streamend=0;

long streamlen =0;

string strpdfmessage=null;

//pdf文档头信息

strpdfmessage="%pdf-1.1\n";

converttobyteandaddtostream(strpdfmessage);

xrefs.add(mpdf.length);

strpdfmessage="1 0 obj\n";

converttobyteandaddtostream(strpdfmessage);

strpdfmessage="<< /length 2 0 r >>\n";

converttobyteandaddtostream(strpdfmessage);

strpdfmessage="stream\n";

converttobyteandaddtostream(strpdfmessage);

////////pdf文档描述

streamstart=mpdf.length;

//字体

strpdfmessage="bt\n/f0 " + fontsize +" tf\n";

converttobyteandaddtostream(strpdfmessage);

//pdf文档实体高度

ypos = pagedepth – pagemargin;

strpdfmessage=pagemargin + " " + ypos +" td\n" ;

converttobyteandaddtostream(strpdfmessage);

strpdfmessage= leadsize+" tl\n" ;

converttobyteandaddtostream(strpdfmessage);

//实体内容

strpdfmessage= "(http://www.wenhui.org)tj\n" ;

converttobyteandaddtostream(strpdfmessage);

strpdfmessage= "et\n";

converttobyteandaddtostream(strpdfmessage);

streamend=mpdf.length;

streamlen=streamend-streamstart;

strpdfmessage= "endstream\nendobj\n";

converttobyteandaddtostream(strpdfmessage);

//pdf文档的版本信息

xrefs.add(mpdf.length);

strpdfmessage="2 0 obj\n"+ streamlen + "\nendobj\n";

converttobyteandaddtostream(strpdfmessage);

xrefs.add(mpdf.length);

strpdfmessage="3 0 obj\n<</type/page/parent 4 0 r/contents 1 0 r>>\nendobj\n";

converttobyteandaddtostream(strpdfmessage);

xrefs.add(mpdf.length);

strpdfmessage="4 0 obj\n<</type /pages /count 1\n";

converttobyteandaddtostream(strpdfmessage);

strpdfmessage="/kids[\n3 0 r\n]\n";

converttobyteandaddtostream(strpdfmessage);

strpdfmessage="/resources<</procset[/pdf/text]/font<</f0 5 0 r>> >>\n";

converttobyteandaddtostream(strpdfmessage);

strpdfmessage="/mediabox [ 0 0 "+ pagewidth + " " + pagedepth + " ]\n>>\nendobj\n";

converttobyteandaddtostream(strpdfmessage);

xrefs.add(mpdf.length);

strpdfmessage="5 0 obj\n<</type/font/subtype/type1/basefont/courier/encoding/winansiencoding>>\nendobj\n";

converttobyteandaddtostream(strpdfmessage);

xrefs.add(mpdf.length);

strpdfmessage="6 0 obj\n<</type/catalog/pages 4 0 r>>\nendobj\n";

converttobyteandaddtostream(strpdfmessage);

streamstart=mpdf.length;

strpdfmessage="xref\n0 7\n0000000000 65535 f \n";

for(int i=0;i<xrefs.count;i++)

{

strpdfmessage+=xrefformatting((long) xrefs[i])+" 00000 n \n";

}

converttobyteandaddtostream(strpdfmessage);

strpdfmessage="trailer\n<<\n/size "+ (xrefs.count+1)+"\n/root 6 0 r\n>>\n";

converttobyteandaddtostream(strpdfmessage);

strpdfmessage="startxref\n" + streamstart+"\n%%eof\n";

converttobyteandaddtostream(strpdfmessage);

mpdf.writeto(ppdf.basestream);

mpdf.close();

ppdf.close();

}

}

#endregion

#region up load fille

public static string upfile(system.web.ui.htmlcontrols.htmlinputfile infile, string savefilepath, string savefilename, string choose)

{

string filename = infile.postedfile.filename;

if (infile.postedfile!=null && infile.value != "" )

{

int i;

switch (choose)

{

case ".":

i = filename.lastindexof(".");

savefilename += filename.substring(i);

break;

default:

i = filename.lastindexof("/");

if (i <= 0) i = filename.lastindexof("\\");

savefilename += choose + filename.substring(i + 1);

break;

}

if (savefilepath.endswith("/") || savefilepath.endswith("\\"))

filename = savefilepath + savefilename;

else

filename = savefilepath + "/" + savefilename;

savefilepath = system.web.httpcontext.current.server.mappath(filename);

infile.postedfile.saveas(savefilepath);

return filename;

}

else

{

return null;

}

}

#endregion

}

}

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

相关推荐

  • 暂无文章