ASP NET程序中常用的三十种代码.docx
《ASP NET程序中常用的三十种代码.docx》由会员分享,可在线阅读,更多相关《ASP NET程序中常用的三十种代码.docx(10页珍藏版)》请在冰豆网上搜索。
ASPNET程序中常用的三十种代码
ASP.NET程序中常用的三十种代码
1.打开新的窗口并传送参数:
(1)传送参数:
response.write("<script>window.open(’*.aspx?
id="+this.DropDownList1.SelectIndex+"&id1="+...+"’)</script>")
(2)接收参数:
string a = Request.QueryString("id");
string b = Request.QueryString("id1");
2.为按钮添加对话框
Button1.Attributes.Add("onclick","return confirm(’确认?
’)");
button.attributes.add("onclick","if(confirm(’areyousure...?
’)){returntrue;}else{returnfalse;}")
3.删除表格选定记录
intintEmpID=(int)MyDataGrid.DataKeys[e.Item.ItemIndex];
stringdeleteCmd="DELETEfromEmployeewhereemp_id="+intEmpID.ToString()
4.删除表格记录警告
privatevoidDataGrid_ItemCreated(Objectsender,DataGridItemEventArgse)
{
switch(e.Item.ItemType)
{
caseListItemType.Item:
caseListItemType.AlternatingItem:
caseListItemType.EditItem:
TableCellmyTableCell;
myTableCell=e.Item.Cells[14];
LinkButtonmyDeleteButton;
myDeleteButton=(LinkButton)myTableCell.Controls[0];
myDeleteButton.Attributes.Add("onclick","returnconfirm(’您是否确定要删除这条信息’);");
break;
default:
break;
}
}
5.点击表格行链接另一页
privatevoidgrdCustomer_ItemDataBound(objectsender,System.Web.UI.WebControls.DataGri
dItemEventArgse)
{//点击表格打开
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
e.Item.Attributes.Add("onclick","window.open(’Default.aspx?
id="+e.Item.Cells[0].Text+"’);");
}
//双击表格连接到另一页在itemDataBind事件中
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{stringOrderItemID=e.item.cells[1].Text;
………..
e.item.Attributes.Add("ondblclick","location.href=’../ShippedGrid.aspx?
id="+OrderItemID+"’");
}
//双击表格打开新一页
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{stringOrderItemID=e.item.cells[1].Text;
………..
e.item.Attributes.Add("ondblclick","open(’../ShippedGrid.aspx?
id="+OrderItemID+"’)");
}
★特别注意:
【?
id=】处不能为【?
id=】
6.表格超连接列传递参数
<asp:
HyperLinkColumnTarget="_blank"headertext="ID号"DataTextField="id"NavigateUrl="aaa.aspx?
id=’
<%#DataBinder.Eval(Container.DataItem,"数据字段1")%>’&name=’<%#DataBinder.Eval(Container.DataItem,"数据字段2")%>’/>
7.表格点击改变颜色
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{e.Item.Attributes.Add("onclick","this.style.backgroundColor=’#99cc00’;
this.style.color=’buttontext’;this.style.cursor=’default’;");
}
//写在DataGrid的_ItemDataBound里
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{e.Item.Attributes.Add("onmouseover","this.style.backgroundColor=’#99cc00’;
this.style.color=’buttontext’;this.style.cursor=’default’;");
e.Item.Attributes.Add("onmouseout","this.style.backgroundColor=’’;this.style.color=’’;");
}
8.关于日期格式
日期格式设定:
DataFormatString="{0:
yyyy-MM-dd}"
在itembound事件中写:
e.items.cell["你的列"].text=DateTime.Parse
(e.items.cell["你的列"].text.ToString("yyyy-MM-dd"))
9.获取错误信息并到指定页面
不要使用Response.Redirect,而应该使用Server.Transfer
Redirect会导致post-back的产生从而丢失了错误信息,所以页面导向应该直接在服务器端执行,这样就可以在错误处理页面得到出错信息并进行相应的处理 。
//inglobal.asax
protectedvoidApplication_Error(Objectsender,EventArgse)
{if(Server.GetLastError()isHttpUnhandledException)
Server.Transfer("MyErrorPage.aspx");
//其余的非HttpUnhandledException异常交给ASP.NET自己处理就okay了
}
10.清空Cookie
Cookie.Expires=[DateTime];
Response.Cookies("UserName").Expires=0
11.自定义异常处理
//自定义异常处理类
usingSystem;
usingSystem.Diagnostics;
namespaceMyAppException
{publicclassAppException:
System.ApplicationException
{publicAppException()
{
if(ApplicationConfiguration.EventLogEnabled)LogEvent("出现一个未知错误。
");
}
publicAppException(stringmessage)
{LogEvent(message);
}
publicAppException(stringmessage,ExceptioninnerException)
{LogEvent(message);
if(innerException!
=null)
{
LogEvent(innerException.Message);
}
}
}
12.Panel横向滚动,纵向自动扩展
<asp:
panelstyle="overflow-x:
scroll;overflow-y:
auto;"></asp:
panel>
13.回车转换成Tab
<scriptlanguage="javascript"for="document"event="onkeydown">
if(event.keyCode==13&&event.srcElement.type!
=’button’&&event.srcElement.type!
=’submit’&&event.srcElement.type!
=’reset’&&event.srcElement.type!
=’’&&event.srcElement.type!
=’textarea’);event.keyCode=9;
</script>
onkeydown="if(event.keyCode==13)event.keyCode=9"
14.DataGrid超级链接列
DataNavigateUrlField="字段名"DataNavigateUrlFormatString="http:
//xx/delete.aspx?
ID={0}"
15.DataGrid行随鼠标变色
privatevoidDGzf_ItemDataBound(objectsender,System.Web.UI.WebControls.
DataGridItemEventArgse)
{if(e.Item.ItemType!
=ListItemType.Header)
{e.Item.Attributes.Add("onmouseout","this.style.backgroundColor=\
""+e.Item.Style["BACKGROUND-COLOR"]+"\"");
e.Item.Attributes.Add("onmouseover","this.style.backgroundColor=\""+"#EFF3F7"+"\"");
}
}
16.模板列
前台代码:
<ASP:
TEMPLATECOLUMNvisible="False"sortexpression="demo"headertext="ID">
<ITEMTEMPLATE>
<ASP:
LABELtext=’<%#DataBinder.Eval(Container.DataItem,"ArticleID")%>’runat="server"width="80%"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>
后台代码:
protectedvoidCheckAll_CheckedChanged(objectsender,System.EventArgse)
{//改变列的选定,实现全选或全不选。
CheckBoxchkExport;
if(CheckAll.Checked)
{foreach(DataGridItemoDataGridIteminMyDataGrid.Items)
{chkExport=(CheckBox)oDataGridItem.FindControl("chkExport");
chkExport.Checked=true;
}
}
else
{foreach(DataGridItemoDataGridIteminMyDataGrid.Items)
{chkExport=(CheckBox)oDataGridItem.FindControl("chkExport");
chkExport.Checked=false;
}
}
}
17.数字格式化
【<%#Container.DataItem("price")%>的结果是500.0000,怎样格式化为500.00?
】
<%#Container.DataItem("price","{0:
¥#,##0.00}")%>
inti=123456;strings=i.ToString("###,###.00");
18.日期格式化
【aspx页面内:
<%#DataBinder.Eval(Container.DataItem,"Company_Ureg_Date")%>
显示为:
2004-8-1119:
44:
28只想得到:
2004-8-11】
<%#DataBinder.Eval(Container.DataItem,"Company_Ureg_Date","{0:
yyyy-M-d}")%>
【格式化日期】取出来,一般是object((DateTime)objectFromDB).ToString("yyyy-MM-dd");【大小写转换】HttpUtility.HtmlEncode(string);HttpUtility.HtmlDecode(string)
19.如何设定全局变量
Global.asax文件Application_Start()事件中添加Application[属性名]=xxx;就是你的全局变量
20.怎样作到HyperLinkColumn生成的连接后,点击连接,打开新窗口?
HyperLinkColumn有个属性Target,将器值设置成"_blank"即可.(Target="_blank")
【ASPNETMENU】点击菜单项弹出新窗口,在你的menuData.xml文件的菜单项中加入URLTarget="_blank",
21.读取DataGrid控件TextBox值
foreach(DataGriddgiinyourDataGrid.Items)
{TextBoxtb=(TextBox)dgi.FindControl("yourTextBoxId");
tb.Text=。
。
。
。
}
22.datagrid选定比较底下的行时,为什么总是刷新一下,然后就滚动到了最上面,刚才选定的行因屏幕的关系就看不到了。
page_load 中写page.smartNavigation=true
23.在Datagrid中修改数据,当点击编辑键时,数据出现在文本框中,控制文本框的大小
privatevoidDataGrid1_ItemDataBound(objsender,DataGridItemEventArgse)
{for(inti=0;i<e.Item.Cells.Count-1;i++)
{if(e.Item.ItemType==ListItemType.EditType)
{
e.Item.Cells[i].Attributes.Add("Width","80px");
}
}
}
24.对话框
privatestaticstringScriptBegin="<scriptlanguage=\"JavaScript\">";
privatestaticstringScriptEnd="</script>";
publicstaticvoidConfirmMessageBox(stringPageTarget,stringContent)
{stringConfirmContent="varretValue=window.confirm(’"+Content+"’);"+
"if(retValue){window.location=’"+PageTarget+"’;}";
ConfirmContent=ScriptBegin+ConfirmContent+ScriptEnd;
PageParameterPage=(Page)System.Web.HttpContext.Current.Handler;
ParameterPage.RegisterStartupScript("confirm",ConfirmContent);
//Response.Write(strScript);
}
25.将时间格式化:
stringaa=DateTime.Now.ToString("yyyy年MM月dd日");
(1).取当前年月日时分秒 :
currentTime=System.DateTime.Now;
(2).取当前年:
int年=DateTime.Now.Year;
(3).取当前月:
int月=DateTime.Now.Month;
(4).取当前日:
int日=DateTime.Now.Day;
(5).取当前时:
int时=DateTime.Now.Hour;
(6).取当前分:
int分=DateTime.Now.Minute;
(7).取当前秒:
int秒=DateTime.Now.Second;
(8).取当前毫秒:
int毫秒=DateTime.Now.Millisecond;
26.自定义分页代码
先定义变量:
publicstaticintpageCount;//总页面数
publicstaticintcurPageIndex=1;//当前页面
if(DataGrid1.CurrentPageIndex<(DataGrid1.PageCount-1))//下一页
{
DataGrid1.CurrentPageIndex+=1; curPageIndex+=1;
}
bind();//DataGrid1数据绑定函数
if(DataGrid1.CurrentPageIndex>0)//上一页:
{
DataGrid1.CurrentPageIndex+=1;curPageIndex-=1;
}
bind();//DataGrid1数据绑定函数
//直接页面跳转:
inta=int.Parse(JumpPage.Value.Trim());//JumpPage.Value.Trim()为跳转值
if(a<DataGrid1.PageCount)
{
this.DataGrid1.CurrentPageIndex=a;
}
bind();//DataGrid1数据绑定函数
27.DataGrid的使用
(1).添加删除确认
privatevoidDataGrid1_ItemCreated()
{foreach(DataGridItemdiinthis.DataGrid1.Items)
{
if(di.ItemType==ListItemType.Item||di.ItemType==ListItemType.AlternatingItem)
{
((LinkButton)di.Cells[8].Controls[0]).Attributes.Add("onclick","returnconfirm(’确认删除此项吗?
’);");
}
}
}
(2).样式交替:
ListItemTypeitemType=e.Item.ItemType;
if(itemType==ListItemType.Item)
{
e.Item.Attributes["onmouseout"]="javascript:
this.style.backgroundColor=’#FFFFFF’;";
e.Item.Attributes["onmouseover"]="javascript:
this.style.backgroundColor=’#d9ece1’;cursor=’hand’;";
}
elseif(itemType==ListItemType.AlternatingItem)
{
e.Item.Attributes["onmouseout"]="javascript:
this.style.backgroundColor=’#a0d7c4’;";
e.Item.Attributes["onmouseover"]="javascript:
this.style.backgroundColor=’#d9ece1’;cursor=’hand’;";
}
(3).添加一个编号列
DataTabledt=c.ExecuteRtnTableForAccess(sqltxt);//执行sql返回的DataTable
DataColumndc=dt.Columns.Add("number",System.Type.GetType("System.String"));
for(inti=0;i<dt.Rows.Count;i++)
{
dt.Rows[i]["number"]=(i+1).ToString();
}
DataGrid1.DataSource=dt; DataGrid1.DataBind();
(4)DataGrid1中添加一个CheckBox,页面中添加一个全选框
privatevoidCheckBox2_CheckedChanged(objectsen