1. 程式人生 > >ASP.NET程式中常用的三十三種程式碼

ASP.NET程式中常用的三十三種程式碼

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);HttpUtility.HtmlDecode(string)  19.如何設定全域性變數Global.asaxApplication_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(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(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(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>