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

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

   迈克老猫(MikeCat)

来自:老猫の理想

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

  警告窗口

  /// <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;
    }
   }
  }

平时经常用到的代码,本人水平有限如有疏漏之处,还请指出!

在这里要感谢艳辉、阿好(hbzxf)的鼎立支持!

.Net自定义后台可用的提示(alert,confirm)控件 从不会到会,这是一个累而充实的过程;从会到精,这是一个有收获的过程;从精到简化,到自动化,这是一个普普通通的过程。但这只是一个短暂的过程,他有尽头,有终点。 一份可以让我为之贡献一生的事业应该是——可以让我不断追求完美,追求高效率,逐渐简化,然后实现自动化。换言之就是太懒,需要用不断学习新东西,打发时间,以维持生存。 言归正传,之前写了一篇文章:用js和css重写alert和Confirm提示... 阅读详情

相关推荐

Asp.net 后台弹出提示信息方法

Asp.net 后台弹出提示信息方法

1019

ASP.NET程序中常用小技巧

登录:  private void btnLogin_Click(object sender, System.EventArgs e)  {   try   {    string sqlstr = "server = 192.168.0.57;uid = sa;pwd = sa;database = gaochao";    string sqlcom = "select * from chao

******ASP.net探究****** 914

.Net页面在回发时不让密码框清空

这几天其实早就知道当触发其他事件的时候, 页面在回发时会将密码框清空的问题, 可是我认为是这样的, 可能控件问题, 应该解决不了, 所以就没有再管这个问题了, 今天邮件里 HY 提到了这个问题, 不得不解决. 我问过KEE可以怎样做, 他告诉我可以用个隐藏值存放个值, 回发之后再付值. 我觉得应该有简单的方法吧! 哈~ 上网寻找是最佳的方法了. 果然, 是有个很简单的做法, 而且只需要一段代码就可

junboyboy的专栏 1654

ASP.NET常用小技巧

ASP.NET下载文件时,文件名为乱码的问题Response.AddHeader("Content-Disposition", "attachment;FileName=" + System.Web.HttpUtility.UrlEncode(sFileName, System.Text.Encoding.UTF8) + ".xls") 多个小文件上传...@ Page langua

1013

AI Agent技能持续升级指南:别让Skill写完就停止进化

在AI Agent与大型语言模型应用开发中,Skill作为模型按需调用的能力模块,其价值远不止于一次编写。随着模型能力迭代、依赖环境漂移和用户需求演进,静态的Skill会逐渐失效。本文从AI Agent的基本概念出发,解析Skill与插件、Agent的本质差异,阐述为何Skill是一个需要长期维护的“活系统”。通过三分离结构设计、内置反馈循环、真实样本驱动迭代等方法,工程师可以让Skill具备持续进化的能力。针对编程辅助、日志分析、PPT生成等应用场景,文章结合实例讲解了从发现问题、行为规则调整到回归测试的

weixin_34021089的博客 279

ASP.NET新手开发常用小技巧

  1. 打开新的窗口并传送参数:   response.write("window.open   (*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+")")         接收参数:      string a = Request.QueryString("id");   string b = Request.QueryStri

小强看世界 798

asp.net常用的一些小技巧(转载)

呵呵,在其它網站看到的,转过来下。其实也就是些客户端脚本的包装,可能以后自己也会用到的。asp.net常用的一些小技巧警告窗口/// /// 服务器端弹出alert对话框/// /// 提示信息,例子:"不能为空!"/// Page类public void Alert(string str_Message,Page page){page.RegisterStartupScript("","ale

jonescn的专栏 585
上一篇: datagrid的正反双向排序
下一篇: ASP.NET中的FILESTREAM对象总结
mikecat888
博客等级 码龄24年 3粉丝 13原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值