1. 打开新的窗口并传送参数: // 传送参数: response.write( " <script>window.open(’*.aspx?id= " + this .DropDownList1.SelectIndex + " &id1= " + + " ’)</script> " ) // 接收参数: string a = Request.QueryString( " id " ); string b = Request.QueryString( " id1 " ); 2.为按钮添加对话框 Button1.Attributes.Add( " onclick " , " return confirm(’确认?’) " );button.attributes.add( " onclick " , " if(confirm(’are you sure?’)){return true;}else{return false;} " ) 3.删除表格选定记录 int intEmpID = ( int )MyDataGrid.DataKeys[e.Item.ItemIndex]; string deleteCmd = " DELETE from Employee where emp_id = " + intEmpID.ToString() 4.删除表格记录警告 private void DataGrid_ItemCreated(Object sender,DataGridItemEventArgs e) { switch(e.Item.ItemType) { case ListItemType.Item : case ListItemType.AlternatingItem : case ListItemType.EditItem: TableCell myTableCell; myTableCell = e.Item.Cells[14]; LinkButton myDeleteButton ; myDeleteButton = (LinkButton)myTableCell.Controls[0]; myDeleteButton.Attributes.Add("onclick","return confirm(’您是否确定要删除这条信息’);"); break; default: break; }} 5.点击表格行链接另一页 private void grdCustomer_ItemDataBound( object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { //点击表格打开 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) { string OrderItemID =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) { string OrderItemID =e.item.cells[1].Text; e.item.Attributes.Add("ondblclick", "open(’../ShippedGrid.aspx?id=" + OrderItemID + "’)");} ★特别注意:【 ? id = 】 处不能为 【 ? id = 】 6.表格超连接列传递参数 <asp:HyperLinkColumn Target="_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 e.g // in global.asax protected void Application_Error(Object sender, EventArgs e) {if (Server.GetLastError() is HttpUnhandledException)Server.Transfer("MyErrorPage.aspx");//其余的非HttpUnhandledException异常交给ASP.NET自己处理就okay了 :)} // Redirect会导致post-back的产生从而丢失了错误信息,所以页面导向应该直接在服务器端执行,这样就可以在错误处理页面得到出错信息并进行相应的处理 10.清空Cookie Cookie.Expires = [DateTime];Response.Cookies( " UserName " ).Expires = 0 web窗体状态栏内类似跑马等效果的实现 第一步:定义一个javascript代码段 < script language ="javascript" > var strMsg = " 欢迎光临本站点by loveFXN "; function DoLoad(index) { window.status = strMsg.substr(index,index+10); index = (index>=strMsg.length-10?0:index+1); window.setTimeout('DoLoad('+index+')',300,"javascript"); } </ script > 该代码的功能是:每隔300毫秒则执行一次窗体状态栏内容的更新,并对显示内容长度作判断。 注意其中strMsg内的空格用来实现一段空白效果。 第二步: 在 < body onload ="DoLoad(0)" > 内添加函数的实现。 看看效果,是不是比较好玩? 遍历获取ASP.NET页面控件的名称及值 如果直接用Page.Control 获取的到只是最顶层的页面元素,而真正的拖拉放上去的文本框或Label之类的控件,还隐藏在这些顶层页面元素的里面,所以需要再次遍历。函数及使用方法如下,结果保存在这里选择了HashTable的方式。 protected void Page_Load( object sender, EventArgs e) { getAllControlValue(this); } Hashtable getAllControlValue( object PageOrUserControl ) { Hashtable rtn = new Hashtable(); foreach (Control ctr in (PageOrUserControl as Page).Controls) { getControlValue(ctr, rtn); } return rtn; } void getControlValue(Control ctrIn,Hashtable ht) { foreach (Control ctr in ctrIn.Controls) { Type controlType = ctr.GetType(); switch (controlType.ToString()) { case "System.Web.UI.WebControls.TextBox": TextBox controlTextBoxObj = (TextBox)ctr; string controlTextBoxName = controlTextBoxObj.ID; string controlTextBoxValue = controlTextBoxObj.Text; ht.Add(controlTextBoxName, controlTextBoxValue); break; case "System.Web.UI.WebControls.Label": Label controlLabelObj = (Label)ctr; string controlLabelName = controlLabelObj.ID; string controlLabelValue = controlLabelObj.Text; ht.Add(controlLabelName, controlLabelValue); break; //case "其他类型": // 其它类型 controlTextBoxObj = (其它类型)ctr; // string controlTextBoxName = controlTextBoxObj.ID; // string controlTextBoxValue = controlTextBoxObj.Text; // ht.Add(controlTextBoxName, controlTextBoxValue); // break; default: break; } } }