asp.net中常用的一些小技巧 (非常有用)
在这里给大家提供一些平时经常容易用到的效果的解决方案。我把一些效果封装在了一个类库文件中。
1 //1警告窗口
2
3 /// <summary>
4 /// 服务器端弹出alert对话框
5 /// </summary>
6 /// <param name="str_Message">提示信息,例子:"不能为空!"</param>
7 /// <param name="page">Page类</param>
8 public void Alert(string str_Message,Page page)
9 {
10 page.RegisterStartupScript("","<script>alert('"+str_Message+"');</script>");
11 }
12
13 //2重载此警告窗口,使某控件获得焦点
14
15 /// <summary>
16 /// 服务器端弹出alert对话框,并使控件获得焦点
17 /// </summary>
18 /// <param name="str_Ctl_Name">获得焦点控件Id值,比如:txt_Name</param>
19 /// <param name="str_Message">提示信息,例子:"请输入您姓名!"</param>
20 /// <param name="page">Page类</param>
21 public void Alert(string str_Ctl_Name,string str_Message,Page page)
22 {
23 page.RegisterStartupScript("","<script>alert('"+str_Message+"');document.forms(0)."+str_Ctl_Name+".focus(); document.forms(0)."+str_Ctl_Name+".select();</script>");
24 }
25
26 //3确认对话框
27
28 /// <summary>
29 /// 服务器端弹出confirm对话框
30 /// </summary>
31 /// <param name="str_Message">提示信息,例子:"您是否确认删除!"</param>
32 /// <param name="btn">隐藏Botton按钮Id值,比如:btn_Flow</param>
33 /// <param name="page">Page类</param>
34 public void Confirm(string str_Message,string btn,Page page)
35 {
36 page.RegisterStartupScript("","<script> if (confirm('"+str_Message+"')==true){document.forms(0)."+btn+".click();}</script>");
37 }
38
39 //4重载确认对话框,点击确定触发一个隐藏按钮事件,点击取消触发一个隐藏按钮事件
40
41 /// <summary>
42 /// 服务器端弹出confirm对话框,询问用户准备转向那些操作,包括“确定”和“取消”时的操作
43 /// </summary>
44 /// <param name="str_Message">提示信息,比如:"成功增加数据,单击\"确定\"按钮填写流程,单击\"取消\"修改数据"</param>
45 /// <param name="btn_Redirect_Flow">"确定"按钮id值</param>
46 /// <param name="btn_Redirect_Self">"取消"按钮id值</param>
47 /// <param name="page">Page类</param>
48 public void Confirm(string str_Message,string btn_Redirect_Flow,string btn_Redirect_Self,Page page)
49 {
50 page.RegisterStartupScript("","<script> if (confirm('"+str_Message+"')==true){document.forms(0)."+btn_Redirect_Flow+".click();}else{document.forms(0)."+btn_Redirect_Self+".click();}</script>");
51 }
52
53
54 //5获得焦点
55
56 /// <summary>
57 /// 使控件获得焦点
58 /// </summary>
59 /// <param name="str_Ctl_Name">获得焦点控件Id值,比如:txt_Name</param>
60 /// <param name="page">Page类</param>
61 public void GetFocus(string str_Ctl_Name,Page page)
62 {
63 page.RegisterStartupScript("","<script>document.forms(0)."+str_Ctl_Name+".focus(); document.forms(0)."+str_Ctl_Name+".select();</script>");
64 }
65
66 //6子窗体返回主窗体
67
68 ///<summary>
69 ///名称:redirect
70 ///功能:子窗体返回主窗体
71 ///参数:url
72 ///返回值:空
73 ///</summary>
74 public void redirect(string url,Page page)
75 {
76 if ( Session["IfDefault"]!=(object)"Default")
77 {
78 page.RegisterStartupScript("","<script>window.top.document.location.href='"+url+"';</script>");
79 }
80 }
81
82 //7判断是否为数字
83
84 /// <summary>
85 /// 名称:IsNumberic
86 /// 功能:判断输入的是否是数字
87 /// 参数:string oText:源文本
88 /// 返回值: bool true:是 false:否
89 /// </summary>
90
91 public bool IsNumberic(string oText)
92 {
93 try
94 {
95 int var1=Convert.ToInt32 (oText);
96 return true;
97 }
98 catch
99 {
100 return false;
101 }
102 }
103
104 //8获得字符串实际长度(包括中文字符)
105
106 //获得字符串oString的实际长度
107 public int StringLength(string oString)
108 {
109 byte[] strArray=System.Text .Encoding.Default .GetBytes (oString);
110 int res=strArray.Length ;
111 return res;
112 }
113
114 //9将回车转换为TAB
115
116 //当在有keydown事件的控件上敲回车时,变为tab
117 public void Tab(System.Web .UI.WebControls .WebControl webcontrol)
118 {
119 webcontrol.Attributes .Add ("onkeydown", "if(event.keyCode==13) event.keyCode=9");
120 }
121
122 //10 datagrid分页中如果删除时出现超出索引
123
124 public void jumppage(System.Web.UI.WebControls.DataGrid dg)
125 {
126 int int_PageLess; //定义页面跳转的页数
127 //如果当前页是最后一页
128 if(dg.CurrentPageIndex == dg.PageCount-1)
129 {
130 //如果就只有一页
131 if(dg.CurrentPageIndex == 0)
132 {
133 //删除后页面停在当前页
134 dg.CurrentPageIndex = dg.PageCount-1;
135 }
136 else
137 {
138 //如果最后一页只有一条记录
139 if((dg.Items.Count % dg.PageSize == 1) || dg.PageSize == 1)
140 {
141 //把最后一页最后一条记录删除后,页面应跳转到前一页
142 int_PageLess = 2;
143 }
144 else //如果最后一页的记录数大于1,那么在最后一页删除记录后仍然停在当前页
145 {
146 int_PageLess = 1;
147 }
148 dg.CurrentPageIndex = dg.PageCount - int_PageLess;
149 }
150 }
151 }
152
153
2
3 /// <summary>
4 /// 服务器端弹出alert对话框
5 /// </summary>
6 /// <param name="str_Message">提示信息,例子:"不能为空!"</param>
7 /// <param name="page">Page类</param>
8 public void Alert(string str_Message,Page page)
9 {
10 page.RegisterStartupScript("","<script>alert('"+str_Message+"');</script>");
11 }
12
13 //2重载此警告窗口,使某控件获得焦点
14
15 /// <summary>
16 /// 服务器端弹出alert对话框,并使控件获得焦点
17 /// </summary>
18 /// <param name="str_Ctl_Name">获得焦点控件Id值,比如:txt_Name</param>
19 /// <param name="str_Message">提示信息,例子:"请输入您姓名!"</param>
20 /// <param name="page">Page类</param>
21 public void Alert(string str_Ctl_Name,string str_Message,Page page)
22 {
23 page.RegisterStartupScript("","<script>alert('"+str_Message+"');document.forms(0)."+str_Ctl_Name+".focus(); document.forms(0)."+str_Ctl_Name+".select();</script>");
24 }
25
26 //3确认对话框
27
28 /// <summary>
29 /// 服务器端弹出confirm对话框
30 /// </summary>
31 /// <param name="str_Message">提示信息,例子:"您是否确认删除!"</param>
32 /// <param name="btn">隐藏Botton按钮Id值,比如:btn_Flow</param>
33 /// <param name="page">Page类</param>
34 public void Confirm(string str_Message,string btn,Page page)
35 {
36 page.RegisterStartupScript("","<script> if (confirm('"+str_Message+"')==true){document.forms(0)."+btn+".click();}</script>");
37 }
38
39 //4重载确认对话框,点击确定触发一个隐藏按钮事件,点击取消触发一个隐藏按钮事件
40
41 /// <summary>
42 /// 服务器端弹出confirm对话框,询问用户准备转向那些操作,包括“确定”和“取消”时的操作
43 /// </summary>
44 /// <param name="str_Message">提示信息,比如:"成功增加数据,单击\"确定\"按钮填写流程,单击\"取消\"修改数据"</param>
45 /// <param name="btn_Redirect_Flow">"确定"按钮id值</param>
46 /// <param name="btn_Redirect_Self">"取消"按钮id值</param>
47 /// <param name="page">Page类</param>
48 public void Confirm(string str_Message,string btn_Redirect_Flow,string btn_Redirect_Self,Page page)
49 {
50 page.RegisterStartupScript("","<script> if (confirm('"+str_Message+"')==true){document.forms(0)."+btn_Redirect_Flow+".click();}else{document.forms(0)."+btn_Redirect_Self+".click();}</script>");
51 }
52
53
54 //5获得焦点
55
56 /// <summary>
57 /// 使控件获得焦点
58 /// </summary>
59 /// <param name="str_Ctl_Name">获得焦点控件Id值,比如:txt_Name</param>
60 /// <param name="page">Page类</param>
61 public void GetFocus(string str_Ctl_Name,Page page)
62 {
63 page.RegisterStartupScript("","<script>document.forms(0)."+str_Ctl_Name+".focus(); document.forms(0)."+str_Ctl_Name+".select();</script>");
64 }
65
66 //6子窗体返回主窗体
67
68 ///<summary>
69 ///名称:redirect
70 ///功能:子窗体返回主窗体
71 ///参数:url
72 ///返回值:空
73 ///</summary>
74 public void redirect(string url,Page page)
75 {
76 if ( Session["IfDefault"]!=(object)"Default")
77 {
78 page.RegisterStartupScript("","<script>window.top.document.location.href='"+url+"';</script>");
79 }
80 }
81
82 //7判断是否为数字
83
84 /// <summary>
85 /// 名称:IsNumberic
86 /// 功能:判断输入的是否是数字
87 /// 参数:string oText:源文本
88 /// 返回值: bool true:是 false:否
89 /// </summary>
90
91 public bool IsNumberic(string oText)
92 {
93 try
94 {
95 int var1=Convert.ToInt32 (oText);
96 return true;
97 }
98 catch
99 {
100 return false;
101 }
102 }
103
104 //8获得字符串实际长度(包括中文字符)
105
106 //获得字符串oString的实际长度
107 public int StringLength(string oString)
108 {
109 byte[] strArray=System.Text .Encoding.Default .GetBytes (oString);
110 int res=strArray.Length ;
111 return res;
112 }
113
114 //9将回车转换为TAB
115
116 //当在有keydown事件的控件上敲回车时,变为tab
117 public void Tab(System.Web .UI.WebControls .WebControl webcontrol)
118 {
119 webcontrol.Attributes .Add ("onkeydown", "if(event.keyCode==13) event.keyCode=9");
120 }
121
122 //10 datagrid分页中如果删除时出现超出索引
123
124 public void jumppage(System.Web.UI.WebControls.DataGrid dg)
125 {
126 int int_PageLess; //定义页面跳转的页数
127 //如果当前页是最后一页
128 if(dg.CurrentPageIndex == dg.PageCount-1)
129 {
130 //如果就只有一页
131 if(dg.CurrentPageIndex == 0)
132 {
133 //删除后页面停在当前页
134 dg.CurrentPageIndex = dg.PageCount-1;
135 }
136 else
137 {
138 //如果最后一页只有一条记录
139 if((dg.Items.Count % dg.PageSize == 1) || dg.PageSize == 1)
140 {
141 //把最后一页最后一条记录删除后,页面应跳转到前一页
142 int_PageLess = 2;
143 }
144 else //如果最后一页的记录数大于1,那么在最后一页删除记录后仍然停在当前页
145 {
146 int_PageLess = 1;
147 }
148 dg.CurrentPageIndex = dg.PageCount - int_PageLess;
149 }
150 }
151 }
152
153