asp.net程序中最常用的三十三种编程代码(3)
广告投放★自助友情CMS落伍广告联盟晒乐广告联盟脉动广告联盟品味广告联盟
广告位可自定样式联系QQ:4285248个文字广告月20元广告联系QQ:428524广告位可自定样式
8个文字广告月20元黄金广告位每月20元广告位可自定样式联系QQ:428524广告位可自定样式
左旋肉碱、全国包邮
买二送一、无效退款

文章浏览→编程相关Asp编程→asp.net程序中最常用的三十三种编程代码(3)

asp.net程序中最常用的三十三种编程代码(3)
asp.net程序中最常用的三十三种编程代码(3)
16.模板列    
   
  <ASP:TEMPLATECOLUMN  visible="False"   sortexpression="demo"  headertext="ID">   
  <ITEMTEMPLATE>   
  <ASP:LABEL   text=’<%#  DataBinder.eval_r(Container.DataItem,  "ArticleID")%>’  runat="server"   width="80%"  id="lblColumn"   />   
  </ITEMTEMPLATE>   
  </ASP:TEMPLATECOLUMN>   
   
  <ASP:TEMPLATECOLUMN  headertext="选中">    
  <HEADERSTYLE   wrap="False"  horizontalalign="Center"></HEADERSTYLE>   
  <ITEMTEMPLATE>   
  <ASP:CHECKBOX   id="chkExport"  runat="server"   />   
  </ITEMTEMPLATE>   
  <EDITITEMTEMPLATE>   
  <ASP:CHECKBOX  id="chkExportON"   runat="server"  enabled="true"   />   
  </EDITITEMTEMPLATE>   
  </ASP:TEMPLATECOLUMN>     
   
    后台代码   
   
  protected   void  CheckAll_CheckedChanged(object  sender,   System.EventArgs  e)    
  {    
   //改变列的选定,实现全选或全不选。   
   CheckBox   chkExport  ;    
   if(   CheckAll.Checked)   
   {    
    foreach(DataGridItem  oDataGridItem   in  MyDataGrid.Items)    
    {    
     chkExport  (CheckBox)oDataGridItem.FindControl("chkExport");   
     chkExport.Checked   true;   
    }    
   }    
   else   
   {    
    foreach(DataGridItem  oDataGridItem   in  MyDataGrid.Items)    
    {    
     chkExport  (CheckBox)oDataGridItem.FindControl("chkExport");   
     chkExport.Checked   false;   
    }    
   }    
  }     
   
    17.数字格式化   
   
   【<%#Container.DataItem("price")%>的结果是500.0000,怎样格式化为500.00?】   
   
  <%#Container.DataItem("price","{0:¥#,##0.00}")%>   
   
  int   i=123456;   
  string  s=i.ToString("###,###.00");     
   
  18.日期格式化   
   
    【aspx页面内:<%#  DataBinder.eval_r(Container.DataItem,"Company_Ureg_Date")%>   
   
    显示为:   2004-8-11  19:44:28   
   
    我只想要:2004-8-11   】   
   
  <%#  DataBinder.eval_r(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);   
  HttpUtility.HtmlDecode(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"?>   
  <MenuData  ImagesBaseURL="images/">     
  <MenuGroup>   
  <MenuItem   Label="内参信息"  URL="Infomation.aspx"   >   
  <MenuGroup   ID="BBC">   
  <MenuItem   Label="公告信息"  URL="Infomation.aspx"  URLTarget="_blank"   LeftIcon="file.gif"/>   
  <MenuItem   Label="编制信息简报"  URL="NewInfo.aspx"  LeftIcon="file.gif"   />   
  ......     
   
    最好将你的aspnetmenu升级到1.2版   
   
    21.读取DataGrid控件TextBox值   
   
  foreach(DataGrid   dgi  in   yourDataGrid.Items)   
  {    
   TextBox   tb  =  (TextBox)dgi.FindControl("yourTextBoxId");   
   tb.Text....   
  }     
   
    23.在DataGrid中有3个模板列包含Textbox分别为  DG_ShuLiang   (数量)  DG_DanJian(单价)  DG_JinE(金额)分别在5.6.7列,要求在录入数量及单价的时候自动算出金额即:数量*单价=金额还要求录入时限制为  数值型.我如何用客户端脚本实现这个功能?   
   
    〖思归〗   
   
  <asp:TemplateColumn  HeaderText="数量">     
  <ItemTemplate>   
  <asp:TextBox   id="ShuLiang"  runat=’server’   Text=’<%# DataBinder.eval_r(Container.DataItem,"DG_ShuLiang")%>’     
  onkeyup="javascript:DoCal()"   
  />    
   
  <asp:RegularExpressionValidator  id="revS"   runat="server"  ControlToValidate="ShuLiang"  ErrorMessage="must   be  integer"   ValidationExpression="^\d+$"  />    
  </ItemTemplate>   
  </asp:TemplateColumn>   
   
  <asp:TemplateColumn  HeaderText="单价">     
  <ItemTemplate>   
  <asp:TextBox   id="DanJian"  runat=’server’   Text=’<%# DataBinder.eval_r(Container.DataItem,"DG_DanJian")%>’     
  onkeyup="javascript:DoCal()"   
  />    
   
  <asp:RegularExpressionValidator  id="revS2"   runat="server"  ControlToValidate="DanJian"  ErrorMessage="must   be  numeric"   ValidationExpression="^\d+(\.\d*)?$"  />    
   
  </ItemTemplate>   
  </asp:TemplateColumn>   
   
  <asp:TemplateColumn  HeaderText="金额">     
  <ItemTemplate>   
  <asp:TextBox   id="JinE"  runat=’server’   Text=’<%#  DataBinder.eval_r(Container.DataItem,"DG_JinE")%>’  />    
  </ItemTemplate>   
  </asp:TemplateColumn><script  language="javascript">    
  function   DoCal()   
  {    
   var   e   event.srcElement;   
   var   row   e.parentNode.parentNode;   
   var   txts  =   row.all.tags("INPUT");   
   if   (!txts.length  ||   txts.length  <   3)   
    return;   
   
   var   q   txts[txts.length-3].value;   
   var   p   txts[txts.length-2].value;   
   
   if   (isNaN(q)  ||   isNaN(p))   
    return;   
   
   q   =  parseInt(q);    
   p   =  parseFloat(p);    
   
   txts[txts.length-1].value   (q   *  p).toFixed(2);    
  }    
  </script>     
   
 24.datagrid选定比较底下的行时,为什么总是刷新一下,然后就滚动到了最上面,刚才选定的行因屏幕的关系就看不到了。   
   
  page_load     
  page.smartNavigation=true     
   
    25.在Datagrid中修改数据,当点击编辑键时,数据出现在文本框中,怎么控制文本框的大小  ?     
   
  private   void  DataGrid1_ItemDataBound(obj  sender,DataGridItemEventArgs   e)   
  {    
   for(int  i=0;i<e.Item.Cells.Count-1;i++)   
    if(e.Item.ItemType==ListItemType.EditType)   
    {    
     e.Item.Cells[i].Attributes.Add("Width",  "80px")   
    }     
  }     
   
    26.对话框   
   
  private   static  string   ScriptBegin  =   "<script  language="JavaScript">";   
  private   static  string   ScriptEnd  =   "</script>";   
   
  public   static  void   ConfirmMessageBox(string  PageTarget,string   Content)   
  {    
   string   ConfirmContent="var retValue=window.confirm(’"+Content+"’);"+"if(retValue){window.location=’"+PageTarget+"’;}";   
   
   ConfirmContent=ScriptBegin   ConfirmContent   ScriptEnd;   
   
   Page   ParameterPage  =  (Page)System.Web.HttpContext.Current.Handler;   
  ParameterPage.RegisterStartupScript("confirm",ConfirmContent);   
   //Response.Write(strScript);   
  }     
   
    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;      
所属分类:编程相关Asp编程    作者:新浪博客    时间:2010-11-20 0:00:00

文章导航