下载

2下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 ASP.NETASP.NET程序中常用的三十三种代码

ASP.NETASP.NET程序中常用的三十三种代码.doc

ASP.NETASP.NET程序中常用的三十三种代码

飞行者
2018-09-05 0人阅读 举报 0 0 暂无简介

简介:本文档为《ASP.NETASP.NET程序中常用的三十三种代码doc》,可适用于IT/计算机领域

打开新的窗口并传送参数:  传送参数:responsewrite("<script>windowopen(’*aspxid="thisDropDownListSelectIndex"id=""’)<script>")  接收参数:stringa=RequestQueryString("id")stringb=RequestQueryString("id")  为按钮添加对话框ButtonAttributesAdd("onclick","returnconfirm(’确认’)")buttonattributesadd("onclick","if(confirm(’areyousure’)){returntrue}else{returnfalse}")  删除表格选定记录intintEmpID=(int)MyDataGridDataKeyseItemItemIndexstringdeleteCmd="DELETEfromEmployeewhereempid="intEmpIDToString()  删除表格记录警告privatevoidDataGridItemCreated(Objectsender,DataGridItemEventArgse){ switch(eItemItemType) {  caseListItemTypeItem:  caseListItemTypeAlternatingItem:  caseListItemTypeEditItem:   TableCellmyTableCell   myTableCell=eItemCells   LinkButtonmyDeleteButton   myDeleteButton=(LinkButton)myTableCellControls   myDeleteButtonAttributesAdd("onclick","returnconfirm(’您是否确定要删除这条信息’)")   break  default:   break }}  点击表格行链接另一页privatevoidgrdCustomerItemDataBound(objectsender,SystemWebUIWebControlsDataGridItemEventArgse){ 点击表格打开 if(eItemItemType==ListItemTypeItem||eItemItemType==ListItemTypeAlternatingItem)  eItemAttributesAdd("onclick","windowopen(’Defaultaspxid="eItemCellsText"’)")}  双击表格连接到另一页  在itemDataBind事件中if(eItemItemType==ListItemTypeItem||eItemItemType==ListItemTypeAlternatingItem){ stringOrderItemID=eitemcellsText  eitemAttributesAdd("ondblclick","locationhref=’ShippedGridaspxid="OrderItemID"’")}  双击表格打开新一页if(eItemItemType==ListItemTypeItem||eItemItemType==ListItemTypeAlternatingItem){ stringOrderItemID=eitemcellsText  eitemAttributesAdd("ondblclick","open(’ShippedGridaspxid="OrderItemID"’)")}表格超连接列传递参数<asp:HyperLinkColumnTarget="blank"headertext="ID号"DataTextField="id"NavigateUrl="aaaaspxid=’ <#DataBinderEval(ContainerDataItem,"数据字段")>’name=’<#DataBinderEval(ContainerDataItem,"数据字段")>’>  表格点击改变颜色if(eItemItemType==ListItemTypeItem||eItemItemType==ListItemTypeAlternatingItem){ eItemAttributesAdd("onclick","thisstylebackgroundColor=’#cc’   thisstylecolor=’buttontext’thisstylecursor=’default’")}  写在DataGrid的ItemDataBound里if(eItemItemType==ListItemTypeItem||eItemItemType==ListItemTypeAlternatingItem){eItemAttributesAdd("onmouseover","thisstylebackgroundColor=’#cc’   thisstylecolor=’buttontext’thisstylecursor=’default’")eItemAttributesAdd("onmouseout","thisstylebackgroundColor=’’thisstylecolor=’’")}  关于日期格式  日期格式设定DataFormatString="{:yyyyMMdd}"  我觉得应该在itembound事件中eitemscell"你的列"text=DateTimeParse(eitemscell"你的列"textToString("yyyyMMdd"))  获取错误信息并到指定页面  不要使用ResponseRedirect,而应该使用ServerTransfer  eginglobalasaxprotectedvoidApplicationError(Objectsender,EventArgse){if(ServerGetLastError()isHttpUnhandledException)ServerTransfer("MyErrorPageaspx")其余的非HttpUnhandledException异常交给ASPNET自己处理就okay了:)}  Redirect会导致post-back的产生从而丢失了错误信息所以页面导向应该直接在服务器端执行这样就可以在错误处理页面得到出错信息并进行相应的处理  清空CookieCookieExpires=DateTimeResponseCookies("UserName")Expires=  自定义异常处理自定义异常处理类usingSystemusingSystemDiagnosticsnamespaceMyAppException{ <summary> 从系统异常类ApplicationException继承的应用程序异常处理类。 自动将异常内容记录到WindowsNT的应用程序日志 <summary> publicclassAppException:SystemApplicationException {  publicAppException()  {   if(ApplicationConfigurationEventLogEnabled)LogEvent("出现一个未知错误。")  } publicAppException(stringmessage) {  LogEvent(message) } publicAppException(stringmessage,ExceptioninnerException) {  LogEvent(message)  if(innerException!=)  {   LogEvent(innerExceptionMessage)  } } 日志记录类 usingSystem usingSystemConfiguration usingSystemDiagnostics usingSystemIO usingSystemText usingSystemThreading namespaceMyEventLog {  <summary>  事件日志记录类提供事件日志记录支持  <remarks>  定义了个日志记录方法(error,warning,info,trace)  <remarks>  <summary>  publicclassApplicationLog  {   <summary>   将错误信息记录到WinNT事件日志中   <paramname="message">需要记录的文本信息<param>   <summary>   publicstaticvoidWriteError(Stringmessage)   {    WriteLog(TraceLevelError,message)   }   <summary>   将警告信息记录到WinNT事件日志中   <paramname="message">需要记录的文本信息<param>   <summary>   publicstaticvoidWriteWarning(Stringmessage)   {    WriteLog(TraceLevelWarning,message)     }   <summary>   将提示信息记录到WinNT事件日志中   <paramname="message">需要记录的文本信息<param>   <summary>   publicstaticvoidWriteInfo(Stringmessage)   {    WriteLog(TraceLevelInfo,message)   }   <summary>   将跟踪信息记录到WinNT事件日志中   <paramname="message">需要记录的文本信息<param>   <summary>   publicstaticvoidWriteTrace(Stringmessage)   {    WriteLog(TraceLevelVerbose,message)   }   <summary>   格式化记录到事件日志的文本信息格式   <paramname="ex">需要格式化的异常对象<param>   <paramname="catchInfo">异常信息标题字符串<param>   <retvalue>   <para>格式后的异常信息字符串包括异常内容和跟踪堆栈<para>   <retvalue>   <summary>   publicstaticStringFormatException(Exceptionex,StringcatchInfo)   {    StringBuilderstrBuilder=newStringBuilder()    if(catchInfo!=StringEmpty)    {     strBuilderAppend(catchInfo)Append("rn")    }    strBuilderAppend(exMessage)Append("rn")Append(exStackTrace)    returnstrBuilderToString()   }   <summary>   实际事件日志写入方法   <paramname="level">要记录信息的级别(error,warning,info,trace)<param>   <paramname="messageText">要记录的文本<param>   <summary>   privatestaticvoidWriteLog(TraceLevellevel,StringmessageText)   {    try    {     EventLogEntryTypeLogEntryType     switch(level)     {      caseTraceLevelError:       LogEntryType=EventLogEntryTypeError       break      caseTraceLevelWarning:       LogEntryType=EventLogEntryTypeWarning       break      caseTraceLevelInfo:       LogEntryType=EventLogEntryTypeInformation       break      caseTraceLevelVerbose:       LogEntryType=EventLogEntryTypeSuccessAudit       break      default:       LogEntryType=EventLogEntryTypeSuccessAudit       break     }     EventLogeventLog=newEventLog("Application",ApplicationConfigurationEventLogMachineName,ApplicationConfigurationEventLogSourceName)     写入事件日志     eventLogWriteEntry(messageText,LogEntryType)    }   catch{}忽略任何异常  } }classApplicationLog}Panel横向滚动纵向自动扩展<asp:panelstyle="overflowx:scrolloverflowy:auto"><asp:panel>  回车转换成Tab<scriptlanguage="javascript"for="document"event="onkeydown"> if(eventkeyCode==eventsrcElementtype!=’button’eventsrcElementtype!=’submit’    eventsrcElementtype!=’reset’eventsrcElementtype!=’’eventsrcElementtype!=’textarea’)   eventkeyCode=<script>onkeydown="if(eventkeyCode==)eventkeyCode="  DataGrid超级连接列DataNavigateUrlField="字段名"DataNavigateUrlFormatString="http:xxincdeleteaspxID={}"  DataGrid行随鼠标变色privatevoidDGzfItemDataBound(objectsender,SystemWebUIWebControlsDataGridItemEventArgse){ if(eItemItemType!=ListItemTypeHeader) {  eItemAttributesAdd("onmouseout","thisstylebackgroundColor=""eItemStyle"BACKGROUNDCOLOR"""")  eItemAttributesAdd("onmouseover","thisstylebackgroundColor="""#EFFF"""") }}  模板列<ASP:TEMPLATECOLUMNvisible="False"sortexpression="demo"headertext="ID"><ITEMTEMPLATE><ASP:LABELtext=’<#DataBinderEval(ContainerDataItem,"ArticleID")>’runat="server"width=""id="lblColumn"><ITEMTEMPLATE><ASP:TEMPLATECOLUMN><ASP:TEMPLATECOLUMNheadertext="选中"><HEADERSTYLEwrap="False"horizontalalign="Center"><HEADERSTYLE><ITEMTEMPLATE><ASP:CHECKBOXid="chkExport"runat="server"><ITEMTEMPLATE><EDITITEMTEMPLATE><ASP:CHECKBOXid="chkExportON"runat="server"enabled="true"><EDITITEMTEMPLATE><ASP:TEMPLATECOLUMN>  后台代码protectedvoidCheckAllCheckedChanged(objectsender,SystemEventArgse){ 改变列的选定实现全选或全不选。 CheckBoxchkExport if(CheckAllChecked) {  foreach(DataGridItemoDataGridIteminMyDataGridItems)  {   chkExport=(CheckBox)oDataGridItemFindControl("chkExport")   chkExportChecked=true  } } else {  foreach(DataGridItemoDataGridIteminMyDataGridItems)  {   chkExport=(CheckBox)oDataGridItemFindControl("chkExport")   chkExportChecked=false  } }}  数字格式化  【<#ContainerDataItem("price")>的结果是怎样格式化为】<#ContainerDataItem("price","{:¥#,##}")>inti=strings=iToString("###,###")日期格式化  【aspx页面内:<#DataBinderEval(ContainerDataItem,"CompanyUregDate")>  显示为:::  我只想要:】<#DataBinderEval(ContainerDataItem,"CompanyUregDate","{:yyyyMd}")>  应该如何改?  【格式化日期】  取出来,一般是object((DateTime)objectFromDB)ToString("yyyyMMdd")  【日期的验证表达式】  A以下正确的输入格式:,::pm,^((d{}(()|())s(((()|())s(()|()|()))|((()|())s(()|()|()))|(s(()|()))))|(d{}(()|())s(((()|())s(()|()|()))|((()|())s(()|()|()))|(s(()|()|())))))(s((()|()):()((s)|(:()s))(AM|PM|am|pm{,})))$  B以下正确的输入格式:,,^d{}s(((()|())s(()|()))|((()|())s(()|()))|(s))$  【大小写转换】HttpUtilityHtmlEncode(string)HttpUtilityHtmlDecode(string)  如何设定全局变量  Globalasax中  ApplicationStart()事件中  添加Application属性名=xxx  就是你的全局变量  怎样作到HyperLinkColumn生成的连接后点击连接打开新窗口?  HyperLinkColumn有个属性Target,将器值设置成"blank"即可(Target="blank")  【ASPNETMENU】点击菜单项弹出新窗口  在你的menuDataxml文件的菜单项中加入URLTarget="blank"如:<xmlversion=""encoding="GB"><MenuDataImagesBaseURL="images"><MenuGroup><MenuItemLabel="内参信息"URL="Infomationaspx"><MenuGroupID="BBC"><MenuItemLabel="公告信息"URL="Infomationaspx"URLTarget="blank"LeftIcon="filegif"><MenuItemLabel="编制信息简报"URL="NewInfoaspx"LeftIcon="filegif">  最好将你的aspnetmenu升级到版  读取DataGrid控件TextBox值foreach(DataGriddgiinyourDataGridItems){ TextBoxtb=(TextBox)dgiFindControl("yourTextBoxId") tbText}  在DataGrid中有个模板列包含Textbox分别为DGShuLiang(数量)DGDanJian(单价)DGJinE(金额)分别在列要求在录入数量及单价的时候自动算出金额即:数量*单价=金额还要求录入时限制为数值型我如何用客户端脚本实现这个功能  〖思归〗<asp:TemplateColumnHeaderText="数量"><ItemTemplate><asp:TextBoxid="ShuLiang"runat=’server’Text=’<#DataBinderEval(ContainerDataItem,"DGShuLiang")>’onkeyup="javascript:DoCal()"><asp:RegularExpressionValidatorid="revS"runat="server"ControlToValidate="ShuLiang"ErrorMessage="mustbeinteger"ValidationExpression="^d$"><ItemTemplate><asp:TemplateColumn><asp:TemplateColumnHeaderText="单价"><ItemTemplate><asp:TextBoxid="DanJian"runat=’server’Text=’<#DataBinderEval(ContainerDataItem,"DGDanJian")>’onkeyup="javascript:DoCal()"><asp:RegularExpressionValidatorid="revS"runat="server"ControlToValidate="DanJian"ErrorMessage="mustbenumeric"ValidationExpression="^d(d*)$"><ItemTemplate><asp:TemplateColumn><asp:TemplateColumnHeaderText="金额"><ItemTemplate><asp:TextBoxid="JinE"runat=’server’Text=’<#DataBinderEval(ContainerDataItem,"DGJinE")>’><ItemTemplate><asp:TemplateColumn><scriptlanguage="javascript">functionDoCal(){ vare=eventsrcElement varrow=eparentNodeparentNode vartxts=rowalltags("INPUT") if(!txtslength||txtslength<)  return varq=txtstxtslengthvalue varp=txtstxtslengthvalue if(isNaN(q)||isNaN(p))  return q=parseInt(q) p=parseFloat(p) txtstxtslengthvalue=(q*p)toFixed()}<script>datagrid选定比较底下的行时为什么总是刷新一下然后就滚动到了最上面刚才选定的行因屏幕的关系就看不到了。pageloadpagesmartNavigation=true  在Datagrid中修改数据当点击编辑键时数据出现在文本框中怎么控制文本框的大小privatevoidDataGridItemDataBound(objsender,DataGridItemEventArgse){ for(inti=i<eItemCellsCounti)  if(eItemItemType==ListItemTypeEditType)  {   eItemCellsiAttributesAdd("Width","px")  }}  对话框privatestaticstringScriptBegin="<scriptlanguage="JavaScript">"privatestaticstringScriptEnd="<script>"publicstaticvoidConfirmMessageBox(stringPageTarget,stringContent){ stringConfirmContent="varretValue=windowconfirm(’"Content"’)""if(retValue){windowlocation=’"PageTarget"’}" ConfirmContent=ScriptBeginConfirmContentScriptEnd PageParameterPage=(Page)SystemWebHttpContextCurrentHandler ParameterPageRegisterStartupScript("confirm",ConfirmContent) ResponseWrite(strScript)}  将时间格式化:stringaa=DateTimeNowToString("yyyy年MM月dd日")  取当前年月日时分秒currentTime=SystemDateTimeNow  取当前年int年=DateTimeNowYear  取当前月int月=DateTimeNowMonth  取当前日int日=DateTimeNowDay  取当前时int时=DateTimeNowHour  取当前分int分=DateTimeNowMinute  取当前秒int秒=DateTimeNowSecond  取当前毫秒int毫秒=DateTimeNowMillisecond  .自定义分页代码:  先定义变量:publicstaticintpageCount总页面数publicstaticintcurPageIndex=当前页面  下一页:if(DataGridCurrentPageIndex<(DataGridPageCount)){ DataGridCurrentPageIndex= curPageIndex=}bind()DataGrid数据绑定函数  上一页:if(DataGridCurrentPageIndex>){ DataGridCurrentPageIndex= curPageIndex=}bind()DataGrid数据绑定函数  直接页面跳转:inta=intParse(JumpPageValueTrim())JumpPageValueTrim()为跳转值if(a<DataGridPageCount){ thisDataGridCurrentPageIndex=a}bind().DataGrid使用:  添加删除确认:privatevoidDataGridItemCreated(objectsender,SystemWebUIWebControlsDataGridItemEventArgse){ foreach(DataGridItemdiinthisDataGridItems) {  if(diItemType==ListItemTypeItem||diItemType==ListItemTypeAlternatingItem)  {   ((LinkButton)diCellsControls)AttributesAdd("onclick","returnconfirm(’确认删除此项吗’)")  } }}  样式交替:ListItemTypeitemType=eItemItemTypeif(itemType==ListItemTypeItem){ eItemAttributes"onmouseout"="javascript:thisstylebackgroundColor=’#FFFFFF’" eItemAttributes"onmouseover"="javascript:thisstylebackgroundColor=’#dece’cursor=’hand’"}elseif(itemType==ListItemTypeAlternatingItem){ eItemAttributes"onmouseout"="javascript:thisstylebackgroundColor=’#adc’" eItemAttributes"onmouseover"="javascript:thisstylebackgroundColor=’#dece’cursor=’hand’"}  添加一个编号列:DataTabledt=cExecuteRtnTableForAccess(sqltxt)执行sql返回的DataTableDataColumndc=dtColumnsAdd("number",SystemTypeGetType("SystemString"))for(inti=i<dtRowsCounti){ dtRowsi"number"=(i)ToString()}DataGridDataSource=dtDataGridDataBind()  DataGrid中添加一个CheckBox页面中添加一个全选框privatevoidCheckBoxCheckedChanged(objectsender,SystemEventArgse){ foreach(DataGridItemthisiteminDataGridItems) {  ((CheckBox)thisitemCellsControls)Checked=CheckBoxChecked }}  将当前页面中DataGrid显示的数据全部删除foreach(DataGridItemthisiteminDataGridItems){ if(((CheckBox)thisitemCellsControls)Checked) {  stringstrloginid=DataGridDataKeysthisitemItemIndexToString()  Del(strloginid)删除函数 }}  .当文件在不同目录下需要获取数据库连接字符串(如果连接字符串放在Webconfig然后在Globalasax中初始化)  在ApplicationStart中添加以下代码:Application"ConnStr"=thisContextRequestPhysicalApplicationPathConfigurationSettings   AppSettings"ConnStr"ToString()  .变量ToString()  字符型转换转为字符串ToString("n")生成,ToString("C")生成¥,ToString("e")生成eToString("f")生成ToString("x")生成(进制)ToString("p")生成,,  、变量Substring(参数,参数)  截取字串的一部分参数为左起始位数参数为截取几位。如:strings=strSubstring(,)  .在自己的网站上登陆其他网站:(如果你的页面是通过嵌套方式的话因为一个页面只能有一个FORM这时可以导向另外一个页面再提交登陆信息)<SCRIPTlanguage="javascript"><! functiongook(pws) {  frmsubmit() }><SCRIPT><bodyleftMargin=""topMargin=""onload="javascript:gook()"marginwidth=""marginheight=""><formname="frm"action="http::loginphpretid="method="post"><tr><td><inputid="fuser"type="hidden"size=""name="fuser"runat="server"><inputid="fdomain"type="hidden"size=""name="fdomain"runat="server"><inputclass="box"id="fpass"type="hidden"size=""name="pwshow"runat="server"><INPUTid="lng"type="hidden"maxLength=""size=""value=""name="lng"><INPUTid="tem"type="hidden"size=""value=""name="tem"><td><tr><form>  文本框的名称必须是你要登陆的网页上的名称如果源码不行可以用vsniffer看看。  下面是获取用户输入的登陆信息的代码:stringnamename=RequestQueryString"EmailName"try{ inta=nameIndexOf("",,nameLength) fuserValue=nameSubstring(,a) fdomainValue=nameSubstring(a,nameLength(a)) fpassValue=RequestQueryString"Psw"}catch{ ScriptAlert("错误的邮箱!") ServerTransfer("indexaspx")}

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/16

ASP.NETASP.NET程序中常用的三十三种代码

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利