ASP.NET程序中常用的三十三种代码(4)
ASP.NET程序中常用的三十三种代码(4) 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.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(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>