asp.net中常用的一些小技巧

本文介绍如何在ASP.NET中实现多种服务器端效果,包括警告窗口、确认对话框等功能,通过封装类库简化开发过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里给大家提供一些平时经常容易用到的效果的解决方案。我把一些效果封装在了一个类库文件中。  

警告窗口  

///  <summary>  
///  服务器端弹出alert对话框  
///  </summary>  
///  <param  name="str_Message">提示信息,例子:"不能为空!"</param>  
///  <param  name="page">Page类</param>  
public  void  Alert(string  str_Message,Page  page)  
{  
page.RegisterStartupScript("","<script>alert(@#"+str_Message+"@#);</script>");  
}  

重载此警告窗口,使某控件获得焦点  

///  <summary>  
///  服务器端弹出alert对话框,并使控件获得焦点  
///  </summary>  
///  <param  name="str_Ctl_Name">获得焦点控件Id值,比如:txt_Name</param>  
///  <param  name="str_Message">提示信息,例子:"请输入您姓名!"</param>  
///  <param  name="page">Page类</param>  
public  void  Alert(string  str_Ctl_Name,string  str_Message,Page  page)  
{  
page.RegisterStartupScript("","<script>alert(@#"+str_Message+"@#);document.forms(0)."+str_Ctl_Name+".focus();  document.forms(0)."+str_Ctl_Name+".select();</script>");  
}  

确认对话框  

///  <summary>  
///  服务器端弹出confirm对话框  
///  </summary>  
///  <param  name="str_Message">提示信息,例子:"您是否确认删除!"</param>  
///  <param  name="btn">隐藏Botton按钮Id值,比如:btn_Flow</param>  
///  <param  name="page">Page类</param>  
public  void  Confirm(string  str_Message,string  btn,Page  page)  
{  
page.RegisterStartupScript("","<script>  if  (confirm(@#"+str_Message+"@#)==true){document.forms(0)."+btn+".click();}</script>");  
}  

重载确认对话框,点击确定触发一个隐藏按钮事件,点击取消触发一个隐藏按钮事件  

///  <summary>  
///  服务器端弹出confirm对话框,询问用户准备转向那些操作,包括“确定”和“取消”时的操作  
///  </summary>  
///  <param  name="str_Message">提示信息,比如:"成功增加数据,单击/"确定/"按钮填写流程,单击/"取消/"修改数据"</param>  
///  <param  name="btn_Redirect_Flow">"确定"按钮id值</param>  
///  <param  name="btn_Redirect_Self">"取消"按钮id值</param>  
///  <param  name="page">Page类</param>  
public  void  Confirm(string  str_Message,string  btn_Redirect_Flow,string  btn_Redirect_Self,Page  page)  
{  
page.RegisterStartupScript("","<script>  if  (confirm(@#"+str_Message+"@#)==true){document.forms(0)."+btn_Redirect_Flow+".click();}else{document.forms(0)."+btn_Redirect_Self+".click();}</script>");  
}  


获得焦点  

///  <summary>  
///  使控件获得焦点  
///  </summary>  
///  <param  name="str_Ctl_Name">获得焦点控件Id值,比如:txt_Name</param>  
///  <param  name="page">Page类</param>  
public  void  GetFocus(string  str_Ctl_Name,Page  page)  
{  
page.RegisterStartupScript("","<script>document.forms(0)."+str_Ctl_Name+".focus();  document.forms(0)."+str_Ctl_Name+".select();</script>");  
}  

子窗体返回主窗体  

///<summary>  
///名称:redirect  
///功能:子窗体返回主窗体  
///参数:url  
///返回值:空  
///</summary>  
public  void  redirect(string  url,Page  page)  
{  
if  (  Session["IfDefault"]!=(object)"Default")  
{  
page.RegisterStartupScript("","<script>window.top.document.location.href=@#"+url+"@#;</script>");  
}  
}  

判断是否为数字  

///  <summary>  
///  名称:IsNumberic  
///  功能:判断输入的是否是数字  
///  参数:string  oText:源文本  
///  返回值: bool  true:是 false:否  
///  </summary>  

public  bool  IsNumberic(string  oText)  
{  
try  
{  
int  var1=Convert.ToInt32  (oText);  
return  true;  
}  
catch  
{  
return  false;  
}  
}  

获得字符串实际长度(包括中文字符)  

//获得字符串oString的实际长度  
public  int  StringLength(string  oString)  
{  
byte[]  strArray=System.Text  .Encoding.Default  .GetBytes  (oString);  
int  res=strArray.Length  ;  
return  res;  
}  

将回车转换为TAB  

//当在有keydown事件的控件上敲回车时,变为tab  
public  void  Tab(System.Web  .UI.WebControls  .WebControl  webcontrol)  
{  
webcontrol.Attributes  .Add  ("onkeydown",  "if(event.keyCode==13)  event.keyCode=9");  
}  

datagrid分页中如果删除时出现超出索引  

public  void  jumppage(System.Web.UI.WebControls.DataGrid  dg)  
{  
int  int_PageLess;  //定义页面跳转的页数  
//如果当前页是最后一页  
if(dg.CurrentPageIndex  ==  dg.PageCount-1)  
{  
//如果就只有一页  
if(dg.CurrentPageIndex  ==  0)  
{  
//删除后页面停在当前页  
dg.CurrentPageIndex  =  dg.PageCount-1;  
}  
else  
{  
//如果最后一页只有一条记录  
if((dg.Items.Count  %  dg.PageSize  ==  1)  ||  dg.PageSize  ==  1)  
{  
//把最后一页最后一条记录删除后,页面应跳转到前一页  
int_PageLess  =  2;  
}  
else  //如果最后一页的记录数大于1,那么在最后一页删除记录后仍然停在当前页  
{  
int_PageLess  =  1;  
}  
dg.CurrentPageIndex  =  dg.PageCount  -  int_PageLess;  
}  
}  
 
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值