翻译|其它|编辑:郝浩|2007-09-07 11:51:41.000|阅读 811 次
概述:
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
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.
以下正确的输入格式:
[
^((\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.
以下正确的输入格式:
[
^\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(金额)分别在:
数量
*
单价
=
金额还要求录入时限制为
数值型
.
我如何用客户端脚本实现这个功能
?
〖思归〗
<
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);
}
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;
28.自定义分页代码:
先定义变量
:
public static int pageCount; //
总页面数
public static int curPageIndex=1; //
当前页面
下一页:
if(DataGrid1.CurrentPageIndex
<
(DataGrid1.PageCount - 1))
{
DataGrid1.CurrentPageIndex += 1;
curPageIndex+=1;
}
bind(); // DataGrid1
数据绑定函数
上一页:
if(DataGrid1.CurrentPageIndex
>
0)
{
DataGrid1.CurrentPageIndex += 1;
curPageIndex-=1;
}
bind(); // DataGrid1
数据绑定函数
直接页面跳转:
int a=int.Parse(JumpPage.Value.Trim());//JumpPage.Value.Trim()
为跳转值
if(a
<
DataGrid1.PageCount)
{
this.DataGrid1.CurrentPageIndex=a;
}
29.DataGrid 使用:
添加删除确认:
private void DataGrid1_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
foreach(DataGridItem di in this.DataGrid1.Items)
{
if(di.ItemType==ListItemType.Item||di.ItemType==ListItemType.AlternatingItem)
{
((LinkButton)di.Cells[8].Controls[0]).Attributes.Add("onclick","return confirm(’
确认删除此项吗
?’);");
}
}
}
样式交替:
ListItemType itemType = e.Item.ItemType;
if (itemType == ListItemType.Item )
{
e.Item.Attributes["onmouseout"] = "javascript:this.style.backgroundColor=’#FFFFFF’;";
e.Item.Attributes["onmouseover"] = "javascript:this.style.backgroundColor=’#d9ece
}
else if( itemType == ListItemType.AlternatingItem)
{
e.Item.Attributes["onmouseout"] = "javascript:this.style.backgroundColor=’#a0d
e.Item.Attributes["onmouseover"] = "javascript:this.style.backgroundColor=’#d9ece
}
添加一个编号列:
DataTable dt= c.ExecuteRtnTableForAccess(sqltxt); //
执行
sql
返回的
DataTable
DataColumn dc=dt.Columns.Add("number",System.Type.GetType("System.String"));
for(int i=0;i
<
dt.Rows.Count;i++)
{
dt.Rows[i]["number"]=(i+1).ToString();
}
DataGrid1.DataSource=dt;
DataGrid1.DataBind();
DataGrid1
中添加一个
CheckBox
,页面中添加一个全选框
private void CheckBox2_CheckedChanged(object sender, System.EventArgs e)
{
foreach(DataGridItem thisitem in DataGrid1.Items)
{
((CheckBox)thisitem.Cells[0].Controls[1]).Checked=CheckBox2.Checked;
}
}
将当前页面中
DataGrid1
显示的数据全部删除
foreach(DataGridItem thisitem in DataGrid1.Items)
{
if(((CheckBox)thisitem.Cells[0].Controls[1]).Checked)
{
string strloginid= DataGrid1.DataKeys[thisitem.ItemIndex].ToString();
Del (strloginid); //
删除函数
}
}
30.当文件在不同目录下,需要获取数据库连接字符串(如果连接字符串放在 Web.config,然后在 Global.asax 中初始化)
在
Application_Start
中添加以下代码:
Application["ConnStr"]=this.Context.Request.PhysicalApplicationPath+ConfigurationSettings.
AppSettings["ConnStr"].ToString();
31. 变量.ToString()
字符型转换
转为字符串
12345.ToString("n"); //
生成
12,345.00
12345.ToString("C"); //
生成
¥
12,345.00
12345.ToString("e"); //
生成
1.234500e+004
12345.ToString("f4"); //
生成
12345.0000
12345.ToString("x"); //
生成
3039 (16
进制
)
12345.ToString("p"); //
生成
1,234,500.00%
32、变量.Substring(参数1,参数2);
截取字串的一部分,参数
1
为左起始位数,参数
2
为截取几位。
如:
string s1 = str.Substring(0,2);
33.在自己的网站上登陆其他网站:(如果你的页面是通过嵌套方式的话,因为一个页面只能有一个 FORM,这时可以导向另外一个页面再提交登陆信息)
<
SCRIPT language="javascript"
>
<
!--
function gook(pws)
{
frm.submit();
}
//--
>
<
/SCRIPT
>
<
body leftMargin="0" topMargin="0" onload="javascript:gook()" marginwidth="0" marginheight="0"
>
<
form name="frm" action=" http://220.194.55.68:6080/login.php?retid=7259 " method="post"
>
<
tr
>
<
td
>
<
input id="f_user" type="hidden" size="1" name="f_user" runat="server"
>
<
input id="f_domain" type="hidden" size="1" name="f_domain" runat="server"
>
<
input class="box" id="f_pass" type="hidden" size="1" name="pwshow" runat="server"
>
<
INPUT id="lng" type="hidden" maxLength="20" size="1" value="5" name="lng"
>
<
INPUT id="tem" type="hidden" size="1" value="2" name="tem"
>
<
/td
>
<
/tr
>
<
/form
>
文本框的名称必须是你要登陆的网页上的名称,如果源码不行可以用
vsniffer
看看。
下面是获取用户输入的登陆信息的代码:
string name;
name=Request.QueryString["EmailName"];
try
{
int a=name.IndexOf("@",0,name.Length);
f_user.Value=name.Substring(0,a);
f_domain.Value=name.Substring(a+1,name.Length-(a+1));
f_pass.Value=Request.QueryString["Psw"];
}
catch
{
Script.Alert("
错误的邮箱
!");
Server.Transfer("index.aspx");
}
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
文章转载自:csdn