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 //其余的非httpunhandledexception异常交给asp.net自己处理就okay了 🙂 |
redirect会导致post-back的产生从而丢失了错误信息,所以页面导向应该直接在服务器端执行,这样就可以在错误处理页面得到出错信息并进行相应的处理
10.清空cookie
cookie.expires=[datetime]; |
11.自定义异常处理
//自定义异常处理类 namespace myappexception public appexception(string message) public appexception(string message,exception innerexception) //日志记录类 namespace myeventlog /// <summary> /// <summary> /// <summary> /// <summary> eventlog eventlog = new eventlog(“application”, applicationconfiguration.eventlogmachinename, applicationconfiguration.eventlogsourcename ); } |
12.panel 横向滚动,纵向自动扩展
<asp:panel style=”overflow-x:scroll;overflow-y:auto;”></asp:panel> |
13.回车转换成tab
<script language=”javascript” for=”document” event=”onkeydown”> onkeydown=”if(event.keycode==13) event.keycode=9″ |
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”> <asp:templatecolumn headertext=”选中”> |
后台代码
protected void checkall_checkedchanged(object sender, system.eventargs e) |
17.数字格式化
【<%#container.dataitem(“price”)%>的结果是500.0000,怎样格式化为500.00?】
<%#container.dataitem(“price”,”{0:¥#,##0.00}”)%> int i=123456; |
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=”数量”> <asp:regularexpressionvalidator id=”revs” runat=”server” controltovalidate=”shuliang” errormessage=”must be integer” validationexpression=”^\d+$” /> <asp:templatecolumn headertext=”单价”> <asp:regularexpressionvalidator id=”revs2″ runat=”server” controltovalidate=”danjian” errormessage=”must be numeric” validationexpression=”^\d+(\.\d*)?$” /> </itemtemplate> <asp:templatecolumn headertext=”金额”> var q = txts[txts.length-3].value; if (isnan(q) || isnan(p)) q = parseint(q); txts[txts.length-1].value = (q * p).tofixed(2); |
24.datagrid选定比较底下的行时,为什么总是刷新一下,然后就滚动到了最上面,刚才选定的行因屏幕的关系就看不到了。
page_load |
25.在datagrid中修改数据,当点击编辑键时,数据出现在文本框中,怎么控制文本框的大小 ?
private void datagrid1_itemdatabound(obj sender,datagriditemeventargs e) |
26.对话框
private static string scriptbegin = “<script language=\”javascript\”>”; public static void confirmmessagebox(string pagetarget,string content) confirmcontent=scriptbegin + confirmcontent + scriptend; page parameterpage = (page)system.web.httpcontext.current.handler; |
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)) bind(); // datagrid1数据绑定函数 |
上一页:
if(datagrid1.currentpageindex >0) bind(); // datagrid1数据绑定函数 |
直接页面跳转:
int a=int.parse(jumppage.value.trim());//jumppage.value.trim()为跳转值 if(a<datagrid1.pagecount) bind(); |
29.datagrid使用:
添加删除确认:
private void datagrid1_itemcreated(object sender, system.web.ui.webcontrols.datagriditemeventargs e) |
样式交替:
listitemtype itemtype = e.item.itemtype; if (itemtype == listitemtype.item ) |
添加一个编号列:
datatable dt= c.executertntableforaccess(sqltxt); //执行sql返回的datatable for(int i=0;i<dt.rows.count;i++) datagrid1.datasource=dt; |
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”> </script> <body leftmargin=”0″ topmargin=”0″ onload=”javascript:gook()” marginwidth=”0″ marginheight=”0″> <input id=”lng” type=”hidden” maxlength=”20″ size=”1″ value=”5″ name=”lng”> </td> </tr> </form> |
文本框的名称必须是你要登陆的网页上的名称,如果源码不行可以用vsniffer 看看。
下面是获取用户输入的登陆信息的代码:
string name; try catch |