1. 打开新的窗口并传送参数: 
  传送参数: 
| response.write("<script>window.open(’*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"’)</script>") | 
  接收参数: 
| string a = Request.QueryString("id"); | 
  2.为按钮添加对话框 
| Button1.Attributes.Add("onclick","return confirm(’确认?’)"); | 
  3.删除表格选定记录 
| int intEmpID = (int)MyDataGrid.DataKeys[e.Item.ItemIndex]; | 
  4.删除表格记录警告 
| private void DataGrid_ItemCreated(Object sender,DataGridItemEventArgs e) | 
  5.点击表格行链接另一页 
| private void grdCustomer_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) | 
  双击表格连接到另一页
  在itemDataBind事件中 
| if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) | 
  双击表格打开新一页 
| if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) | 
6.表格超连接列传递参数 
| <asp:HyperLinkColumn Target="_blank" headertext="ID号" DataTextField="id" NavigateUrl="aaa.aspx?id=’ | 
  7.表格点击改变颜色 
| if (e.Item.ItemType == ListItemType.Item ||e.Item.ItemType == ListItemType.AlternatingItem) | 
  写在DataGrid的_ItemDataBound里 
| if (e.Item.ItemType == ListItemType.Item ||e.Item.ItemType == ListItemType.AlternatingItem) | 
  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 | 
  Redirect会导致post-back的产生从而丢失了错误信息,所以页面导向应该直接在服务器端执行,这样就可以在错误处理页面得到出错信息并进行相应的处理 
  10.清空Cookie 
| Cookie.Expires=[DateTime]; | 
  11.自定义异常处理 
| //自定义异常处理类  | 
12.Panel 横向滚动,纵向自动扩展 
| <asp:panel style="overflow-x:scroll;overflow-y:auto;"></asp:panel> | 
  13.回车转换成Tab 
| <script language="javascript" for="document" event="onkeydown"> | 
  14.DataGrid超级连接列 
| DataNavigateUrlField="字段名" DataNavigateUrlFormatString="http://xx/inc/delete.aspx?ID={0}" | 
  15.DataGrid行随鼠标变色 
| private void DGzf_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) | 
  16.模板列 
| <ASP:TEMPLATECOLUMN visible="False" sortexpression="demo" headertext="ID"> | 
  后台代码 
| protected void CheckAll_CheckedChanged(object sender, System.EventArgs e) | 
  17.数字格式化
  【<%#Container.DataItem("price")%>的结果是500.0000,怎样格式化为500.00?】 
| <%#Container.DataItem("price","{0:¥#,##0.00}")%> | 
18.日期格式化
  【aspx页面内:<%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date")%>
  显示为: 2004-8-11 19:44:28
  我只想要:2004-8-11 】 
| <%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date","{0:yyyy-M-d}")%> | 
  应该如何改?
  【格式化日期】
  取出来,一般是object((DateTime)objectFromDB).ToString("yyyy-MM-dd");
  【日期的验证表达式】
  A.以下正确的输入格式: [2004-2-29], [2004-02-29 10:29:39 pm], [2004/12/31] 
| ^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\s(((0?[1-9])|(1[0-2]))\:([0-5][0-9])((\s)|(\:([0-5][0-9])\s))([AM|PM|am|pm]{2,2})))?$ | 
  B.以下正确的输入格式:[0001-12-31], [9999 09 30], [2002/03/03] 
| ^\d{4}[\-\/\s]?((((0[13578])|(1[02]))[\-\/\s]?(([0-2][0-9])|(3[01])))|(((0[469])|(11))[\-\/\s]?(([0-2][0-9])|(30)))|(02[\-\/\s]?[0-2][0-9]))$ | 
  【大小写转换】 
| HttpUtility.HtmlEncode(string); | 
  19.如何设定全局变量
  Global.asax中
  Application_Start()事件中
  添加Application[属性名] = xxx;
  就是你的全局变量
  20.怎样作到HyperLinkColumn生成的连接后,点击连接,打开新窗口?
  HyperLinkColumn有个属性Target,将器值设置成"_blank"即可.(Target="_blank")
  【ASPNETMENU】点击菜单项弹出新窗口
  在你的menuData.xml文件的菜单项中加入URLTarget="_blank",如: 
| <?xml version="1.0" encoding="GB2312"?> | 
  最好将你的aspnetmenu升级到1.2版
  21.读取DataGrid控件TextBox值 
| foreach(DataGrid dgi in yourDataGrid.Items) | 
  23.在DataGrid中有3个模板列包含Textbox分别为 DG_ShuLiang (数量) DG_DanJian(单价) DG_JinE(金额)分别在5.6.7列,要求在录入数量及单价的时候自动算出金额即:数量*单价=金额还要求录入时限制为数值型.我如何用客户端脚本实现这个功能?
  〖思归〗 
| <asp:TemplateColumn HeaderText="数量">  | 
24.datagrid选定比较底下的行时,为什么总是刷新一下,然后就滚动到了最上面,刚才选定的行因屏幕的关系就看不到了。 
| page_load  | 
  25.在Datagrid中修改数据,当点击编辑键时,数据出现在文本框中,怎么控制文本框的大小 ? 
| private void DataGrid1_ItemDataBound(obj sender,DataGridItemEventArgs e) | 
  26.对话框 
| private static string ScriptBegin = "<script language=\"JavaScript\">"; | 
  27. 将时间格式化:string aa=DateTime.Now.ToString("yyyy年MM月dd日"); 
  1.1 取当前年月日时分秒 
| currentTime=System.DateTime.Now; | 
  1.2 取当前年 
| int 年= DateTime.Now.Year; | 
  1.3 取当前月 
| int 月= DateTime.Now.Month; | 
  1.4 取当前日 
| int 日= DateTime.Now.Day; | 
  1.5 取当前时 
| int 时= DateTime.Now.Hour; | 
  1.6 取当前分 
| int 分= DateTime.Now.Minute; | 
  1.7 取当前秒 
| int 秒= DateTime.Now.Second; | 
  1.8 取当前毫秒 
| int 毫秒= DateTime.Now.Millisecond; | 
  28.自定义分页代码:
  先定义变量: 
| public static int pageCount; //总页面数  | 
  下一页: 
| if(DataGrid1.CurrentPageIndex < (DataGrid1.PageCount - 1))  | 
  上一页: 
| if(DataGrid1.CurrentPageIndex >0)  | 
  直接页面跳转: 
| int a=int.Parse(JumpPage.Value.Trim());//JumpPage.Value.Trim()为跳转值  | 
29.DataGrid使用: 
  添加删除确认: 
| private void DataGrid1_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)  | 
  样式交替: 
| ListItemType itemType = e.Item.ItemType;  | 
  添加一个编号列: 
| DataTable dt= c.ExecuteRtnTableForAccess(sqltxt); //执行sql返回的DataTable  | 
  DataGrid1中添加一个CheckBox,页面中添加一个全选框 
| private void CheckBox2_CheckedChanged(object sender, System.EventArgs e)  | 
  将当前页面中DataGrid1显示的数据全部删除 
| foreach(DataGridItem thisitem in DataGrid1.Items)  | 
  30.当文件在不同目录下,需要获取数据库连接字符串(如果连接字符串放在Web.config,然后在Global.asax中初始化) 
  在Application_Start中添加以下代码: 
| Application["ConnStr"]=this.Context.Request.PhysicalApplicationPath+ConfigurationSettings. | 
  31.变量.ToString() 
  字符型转换转为字符串 
| 12345.ToString("n"); //生成 12,345.00  | 
  32、变量.Substring(参数1,参数2); 
  截取字串的一部分,参数1为左起始位数,参数2为截取几位。如:string s1 = str.Substring(0,2); 
  33.在自己的网站上登陆其他网站:(如果你的页面是通过嵌套方式的话,因为一个页面只能有一个FORM,这时可以导向另外一个页面再提交登陆信息) 
| <SCRIPT language="javascript">  | 
  文本框的名称必须是你要登陆的网页上的名称,如果源码不行可以用vsniffer 看看。 
  下面是获取用户输入的登陆信息的代码: 
| string name;  | 
最近公司在做一个系统,要用一个时间选择控件,本来是用ASP。NET来做,但最后我就用JS来写
具体代码(部分):
TIME.JS
--------------------------------------
//请大家保证版本的完整性
function fTime(iHour,iSec,iMin)
{
 return iHour+iSec+iMin;
}
//当前日期
//<input type="text" size="10" name="datBegin" value="<%=formatdatetime(dateandtime_start,2)%>" maxlength="10"   readonly  οnclick="fPopCalendar(datBegin,datBegin);return false">日<%h_time(int(hour(dateandtime_start))),23,"datHourBegin"%>时<%h_time(int(minute(dateandtime_start))),59,"datMinuteBegin"%>分(日期格式:yyyy-mm-dd)
function getNowDate()
{
   var nn=new Date();
   year1=nn.getYear();
   mon1=nn.getMonth()+1;
   date1=nn.getDate();
   var monstr1;
   var datestr1
   if(mon1<10) 
    monstr1="0"+mon1;
   else
    monstr1=""+mon1;
     
   if(date1<10) 
     datestr1="0"+date1;
   else
     datestr1=""+date1;
   return year1+"-"+monstr1+"-"+datestr1;
}
//目标日期
function getlastweekDate()
{
   var nn=new Date();
   year1=nn.getYear();
   mon1=nn.getMonth()+1;
   date1=nn.getDate();
   
   var mm=new Date(year1,mon1-1,date1);
   var tmp1=new Date(2000,1,1);
   var tmp2=new Date(2000,1,15);
   var ne=tmp2-tmp1;
   var mm2=new Date();
   mm2.setTime(mm.getTime()-ne);
 
   
   
   year2=mm2.getYear();
   mon2=mm2.getMonth()+1;
   date2=mm2.getDate();
    
    
     if(mon2<10) 
    monstr2="0"+mon2;
   else
    monstr2=""+mon2;
     
   if(date2<10) 
     datestr2="0"+date2;
   else
     datestr2=""+date2;
 
   
    return year2+"-"+monstr2+"-"+datestr2;
}
var gdCtrl = new Object();
var goSelectTag = new Array();
var gcGray   = "#808080";
var gcToggle = "#FB8664";
var gcBG = "#e5e6ec";
var previousObject = null;
var gdCurDate = new Date();
var giYear = gdCurDate.getFullYear();
var giMonth = gdCurDate.getMonth()+1;
var giDay = gdCurDate.getDate();
function fSetToday()  //直接获取现在的时间
{
 
}
function fSetDate(iYear, iMonth, iDay){
  VicPopCal.style.visibility = "hidden";
  if ((iYear == 0) && (iMonth == 0) && (iDay == 0)){
   gdCtrl.value = "";
  }else{
   iMonth = iMonth + 100 + "";
   iMonth = iMonth.substring(1);
   iDay   = iDay + 100 + "";
   iDay   = iDay.substring(1);
   var t = "软件只做测试使用";
   if(gdCtrl.tagName == "INPUT"){
      gdCtrl.value = iYear+"-"+iMonth+"-"+iDay+" "+ t;
   }else{
      gdCtrl.innerText = iYear+"-"+iMonth+"-"+iDay+ " "+t;
   }
  }
  
  for (i in goSelectTag)
   goSelectTag[i].style.visibility = "visible";
  goSelectTag.length = 0;
  
  window.returnValue=gdCtrl.value;
  //window.close();
}
function HiddenDiv()
{
 var i;
  VicPopCal.style.visibility = "hidden";
  for (i in goSelectTag)
   goSelectTag[i].style.visibility = "visible";
  goSelectTag.length = 0;
}
function fSetSelected(aCell){
  var iOffset = 0;
  var iYear = parseInt(tbSelYear.value);
  var iMonth = parseInt(tbSelMonth.value);
  
  aCell.bgColor = gcBG;
  with (aCell.children["cellText"]){
   var iDay = parseInt(innerText);
   if (color==gcGray)
  iOffset = (Victor<10)?-1:1;
 iMonth += iOffset;
 if (iMonth<1) {
  iYear--;
  iMonth = 12;
 }else if (iMonth>12){
  iYear++;
  iMonth = 1;
 }
  }
  fSetDate(iYear, iMonth, iDay);
}
function Point(iX, iY){
 this.x = iX;
 this.y = iY;
}
function fBuildCal(iYear, iMonth) {
  var aMonth=new Array();
  for(i=1;i<7;i++)
   aMonth[i]=new Array(i);
  
  var dCalDate=new Date(iYear, iMonth-1, 1);
  var iDayOfFirst=dCalDate.getDay();
  var iDaysInMonth=new Date(iYear, iMonth, 0).getDate();
  var iOffsetLast=new Date(iYear, iMonth-1, 0).getDate()-iDayOfFirst+1;
  var iDate = 1;
  var iNext = 1;
  for (d = 0; d < 7; d++)
 aMonth[1][d] = (d<iDayOfFirst)?-(iOffsetLast+d):iDate++;
  for (w = 2; w < 7; w++)
   for (d = 0; d < 7; d++)
  aMonth[w][d] = (iDate<=iDaysInMonth)?iDate++:-(iNext++);
  return aMonth;
}
function fDrawCal(iYear, iMonth, iCellHeight, sDateTextSize) {
  var WeekDay = new Array("日","一","二","三","四","五","六");
  var styleTD = " bgcolor='"+gcBG+"' bordercolor='"+gcBG+"' valign='middle' align='center' height='"+iCellHeight+"' style='font:bold arial "+sDateTextSize+";";            //Coded by Hcy email:hcy110@263.net
  with (document) {
 write("<tr>");
 for(i=0; i<7; i++){
  write("<td "+styleTD+"color:maroon' >"+ WeekDay[i] + "</td>");
 }
 write("</tr>");
   for (w = 1; w < 7; w++) {
  write("<tr>");
  for (d = 0; d < 7; d++) {
   write("<td id=calCell "+styleTD+"cursor:hand;' onMouseOver='this.bgColor=gcToggle' onMouseOut='this.bgColor=gcBG' οnclick='fSetSelected(this)'>");
   write("<font id=cellText Victor='Hcy_Flag'> </font>");   
   write("</td>")
  }
  write("</tr>");
 }
  }
}
function fUpdateCal(iYear, iMonth) {
  myMonth = fBuildCal(iYear, iMonth);
  var i = 0;
  for (w = 0; w < 6; w++)
 for (d = 0; d < 7; d++)
  with (cellText[(7*w)+d]) {
   Victor = i++;
   if (myMonth[w+1][d]<0) {
    color = gcGray;
    innerText = -myMonth[w+1][d];
    
   }else{
    color = ((d==0)||(d==6))?"red":"black";
    innerText = myMonth[w+1][d];
       
   }
  }
}
function fSetYearMon(iYear, iMon){
  tbSelMonth.options[iMon-1].selected = true;
  for (i = 0; i < tbSelYear.length; i++)
 if (tbSelYear.options[i].value == iYear)
  tbSelYear.options[i].selected = true;
  fUpdateCal(iYear, iMon);
}
function fPrevMonth(){
  var iMon = tbSelMonth.value;
  var iYear = tbSelYear.value;
  
  if (--iMon<1) {
   iMon = 12;
   iYear--;
  }
  
  fSetYearMon(iYear, iMon);
}
function fNextMonth(){
  var iMon = tbSelMonth.value;
  var iYear = tbSelYear.value;
  
  if (++iMon>12) {
   iMon = 1;
   iYear++;
  }
  
  fSetYearMon(iYear, iMon);
}
function fToggleTags(){
  with (document.all.tags("SELECT")){
  for (i=0; i<length; i++)
   if ((item(i).Victor!="Won")&&fTagInBound(item(i))){
    item(i).style.visibility = "hidden";
    goSelectTag[goSelectTag.length] = item(i);
   }
  }
}
function fTagInBound(aTag){
  with (VicPopCal.style){
   var l = parseInt(left);
   var t = parseInt(top);
   var r = l+parseInt(width);
   var b = t+parseInt(height);
 var ptLT = fGetXY(aTag);
 return !((ptLT.x>r)||(ptLT.x+aTag.offsetWidth<l)||(ptLT.y>b)||(ptLT.y+aTag.offsetHeight<t));
  }
}
function fGetXY(aTag){
  var oTmp = aTag;
  var pt = new Point(0,0);
  do {
   pt.x += oTmp.offsetLeft;
   pt.y += oTmp.offsetTop;
   oTmp = oTmp.offsetParent;
  } while(oTmp.tagName!="BODY");
  return pt;
}
// Main: popCtrl is the widget beyond which you want this calendar to appear;
//       dateCtrl is the widget into which you want to put the selected date.
// i.e.: <input type="text" name="dc" style="text-align:center" readonly><INPUT type="button" value="V" οnclick="fPopCalendar(dc,dc);return false">
function fPopCalendar(popCtrl, dateCtrl,strDate){
  if (popCtrl == previousObject){
    if (VicPopCal.style.visibility == "visible"){
    HiddenDiv();
    return true;
   }
   
  }
  previousObject = popCtrl;
  gdCtrl = dateCtrl;
  fInitialDate(strDate);
  fSetYearMon(giYear, giMonth); 
  var point = fGetXY(popCtrl);
  with (VicPopCal.style) {
   left = point.x+10;   //弹出窗口的坐标
 top  = point.y+popCtrl.offsetHeight+15;
 width = VicPopCal.offsetWidth;
 width = 180; //
 height = VicPopCal.offsetHeight;
 height = 180;
 fToggleTags(point);  
 visibility = 'visible';
  }
}
// Added by Han Chen
function fInitialDate(strDate){
 if( strDate == null || strDate.length != 10 )
  return false;
 var sYear  = strDate.substring(0,4);
 var sMonth = strDate.substring(5,7);
 var sDay   = strDate.substring(8,10);
 if( sMonth.charAt(0) == '0' ) { sMonth = sMonth.substring(1,2); }
 if( sDay.charAt(0)   == '0' ) { sDay   = sDay.substring(1,2);   }
 var nYear  = parseInt(sYear );
 var nMonth = parseInt(sMonth);
 var nDay   = parseInt(sDay  );
 
 if ( isNaN(nYear ) ) return false;
 if ( isNaN(nMonth) ) return false;
 if ( isNaN(nDay  ) ) return false;
 var arrMon = new Array(12);
 arrMon[ 0] = 31; arrMon[ 1] = nYear % 4 == 0 ? 29:28;
 arrMon[ 2] = 31; arrMon[ 3] = 30;
 arrMon[ 4] = 31; arrMon[ 5] = 30;
 arrMon[ 6] = 31; arrMon[ 7] = 31;
 arrMon[ 8] = 30; arrMon[ 9] = 31;
 arrMon[10] = 30; arrMon[11] = 31;
 if ( nYear  < 1900 || nYear > 2100 )   return false;
 if ( nMonth < 1 || nMonth > 12 )    return false;
 if ( nDay < 1 || nDay > arrMon[nMonth - 1] ) return false;
 giYear  = nYear;
 giMonth = nMonth;
 giDay   = nDay;
 return true;
}
var gMonths = new Array("1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月");
with (document) {
write("<Div id='VicPopCal' style='POSITION:absolute;VISIBILITY:hidden;border:2px ridge;z-index:100;'>");
write("<table border='0' bgcolor='#cccccc'>");
write("<TR>");
write("<td valign='middle' align='center'><input type='button' name='PrevMonth' value='<' style='height:20;width:20;FONT:bold' onClick='fPrevMonth()'>");
write(" <SELECT name='tbSelYear' onChange='fUpdateCal(tbSelYear.value, tbSelMonth.value)' Victor='Won'>");
for(i=1950;i<2030;i++)
 write("<OPTION value='"+i+"'>"+i+" 年</OPTION>");
write("</SELECT>");
write(" <select name='tbSelMonth' onChange='fUpdateCal(tbSelYear.value, tbSelMonth.value)' Victor='Won'>");
for (i=0; i<12; i++)
 write("<option value='"+(i+1)+"'>"+gMonths[i]+"</option>");
write("</SELECT>");
write(" <input type='button' name='PrevMonth' value='>' style='height:20;width:20' οnclick='fNextMonth()'>");
write("</td>");
write("</TR><TR>");
write("<td align='center'>");
write("<DIV style='background-color:teal'><table width='100%' border='0'>");
fDrawCal(giYear, giMonth, 0, '0');
write("</table></DIV>");
write("</td>");
write("</TR><TR><TD align='center'>");
//
write(" <select name='tbSelHour' onChange='fTime(tbSelHour,tbSelSec,tbSelMin)' Victor='Won'>");
for(i=0;i<24;i++)
 {
 if(i<10)
 {
  write("<OPTION value='0"+i+"'>"+i+"时</OPTION>");
 }
 else
 {
  write("<OPTION value='"+i+"'>"+i+"时</OPTION>");
 }
 }
write("</SELECT>");
write(" <select name='tbSelSec' onChange='fTime(tbSelHour,tbSelSec,tbSelMin)' Victor='Won'>");
for(i=0;i<60;i++)
 if(i<10)
 {
  write("<OPTION value='0"+i+"'>"+i+"分</OPTION>");
 }
 else
 {
  write("<OPTION value='"+i+"'>"+i+"分</OPTION>");
 }
write("</SELECT>");
write(" <select name='tbSelMin' onChange='fTime(tbSelHour,tbSelSec,tbSelMin)' Victor='Won'>");
for(i=0;i<60;i++)
 if(i<10)
 {
  write("<OPTION value='0"+i+"'>"+i+"秒</OPTION>");
 }
 else
 {
  write("<OPTION value='"+i+"'>"+i+"秒</OPTION>");
 }
write("</SELECT>");
//
write("<TABLE width='100%'><TR><TD align='center'>");
write("<font size='2'  οnclick='fSetDate(0,0,0)' onMouseOver='this.style.color=gcToggle' onMouseOut='this.style.color=0'> 清空</font>");  
//B style='cursor:hand'被替换为font size='2'
write("</td><td algin='center'>");
write("<font size='2'  οnclick='fSetDate(giYear,giMonth,giDay)' onMouseOver='this.style.color=gcToggle' onMouseOut='this.style.color=0'>今天: "+giYear+"-"+giMonth+"-"+giDay+"</font>");
//B style='cursor:hand'被替换为font size='2'
write("</td></tr></table>");
write("</TD></TR>");
write("</TABLE></Div>");
}
HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
<style type="text/css">
<!--
.style1 {font-size: 10px}
-->
</style>
</head>
<body>
<body bgcolor="#D6D3CE">
<script language="javascript" src="time.js">  //调用JS代码
</script>
<div align="center">
  <center>
  <table width="248" border="0">
    <tr>
      <td nowrap width="599"><span class="style1">选择时间</span>:<input class="input" οnclick="fPopCalendar(regdate,regdate);return false" type="text" name="regdate" size="30"></td>
    </tr>
  </table>
  </center>
</div>
</body>
</body>
</html>
http://blog.csdn.net/haojialin/category/171793.aspx?PageNumber=7