订阅本栏目 RSS您所在的位置: 深山工作室 > asp.net > 正文

ASP.NET常用的三十三种实用代码(中)

天极网 2007/11/29 20:40:13 深山行者 字体: 浏览 10194

ASP.NET常用的实用代码

16.模板列


<ASP:TEMPLATECOLUMN visible="False" sortexpression="demo" headertext="ID">
<ITEMTEMPLATE>
<ASP:LABEL text=’<%# DataBinder.Eval(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(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>

  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;

相关阅读
让你的Pycharm和电脑pip install下载速度飞起来
微软公司的三道面试题目看了会有意想不到的收获
asp之自动闭合HTML标签函数
利用javascript简短功能就可以检查form表单中的元素是否已经填写
div+CSS的无限级扩展下拉菜单(全部加了注释)
一个可以选择变化背景色的小程序
提交按钮在自定时间内灰色不可用
重新设定目标与学习方法,好记忆不如烂笔头
共有0条关于《ASP.NET常用的三十三种实用代码(中)》的评论
发表评论
正在加载评论......
返回顶部发表评论
呢 称:
表 情:
内 容:
评论内容:不能超过 1000 字,需审核,请自觉遵守互联网相关政策法规。
验证码: 验证码 
网友评论声明,请自觉遵守互联网相关政策法规。

您发布的评论即表示同意遵守以下条款:
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家、社会、集体和公民的合法权益;
二、不得发布国家法律、法规明令禁止的内容;互相尊重,对自己在本站的言论和行为负责;
三、本站对您所发布内容拥有处置权。

更多信息>>栏目类别选择
百度小程序开发
微信小程序开发
微信公众号开发
uni-app
asp函数库
ASP
DIV+CSS
HTML
python
更多>>同类信息
ASP.NET中Cookie编程的基础知识
ASP.NET 2.0跨网页提交的三法
ASP.NET 2和IIS 7.0发生不兼容变化
ASP.NET中文乱码问题的解决。
ASP.Net 2.0中的5个数据控件
根据页面模板动态生成html页面
更多>>最新添加文章
在Android、iOS、Windows、MacOS中微信小程序的文件存放路径
python通过代码修改pip下载源让下载库飞起
python里面requests.post返回的res.text还有其它的吗
aliyun阿里云续费域名优惠口令(注册、续费都可以使用)
windows7环境下安装配置jdk
python对微信操作要用到这两个库wxpy与itchat
ASP中Utf-8与Gb2312编码转换乱码问题的解决方法页面编码声明
DW设置之后更好用 DreamweaverCS编辑GB2312与UTF-8文件在代码视图中点击鼠标错位问题的解决办法
更多>>随机抽取信息
asp汉字转换为拼音
asp日历代码
利用锚点做纯CSS的图片展示效果
iis点开后任务栏上有显示,但是窗口看不到的解决办法
ASP中控制输出字符串的长度
利用javascript鼠标经过表格,行与列变色