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

來源:互聯網
上載者:User
邁克老貓(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)的鼎立支援!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.