Page.registerstartupscript方法和Page.RegisterClientScriptBlock 和Page.RegisterStartupScript區別?

來源:互聯網
上載者:User
msdn如下說:允許 asp.net 伺服器控制項在 page 中發出用戶端指令碼塊。    [C#]
    public virtual void RegisterStartupScript(
       string key,
       string script
    );
參數    key        標識指令碼塊的唯一鍵。    script        要發送到用戶端的指令碼的內容。 以下是一些應用執行個體:開啟一個新視窗:    page.registerstartupscript("starup", "<script language= 'javascript'>window.open('" + url + "','','toolbar=no,resizable=yes,scrollbars=yes')</script>")警告視窗// <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='/webjx/"+url+"';</script>");
}
}

Page.RegisterClientScriptBlock  和  Page.RegisterStartupScript  區別  
---------------------------------------------------------------  
 
Page.RegisterClientScriptBlock  
指令碼將會被放在緊挨</form>的前面。  
 
Page.RegisterStartupScript  
指令碼將會被放在緊挨<form  runat="server">後幾個隱藏的input的後面。  
 
如果你僅僅是註冊一些函數,這兩者的效果是一樣的。  
但如果你要註冊一些全域的指令碼,如定義一些全域變數並賦值,那麼它在HTML中的先後位置可能就比較重要,此時就應該用RegisterStartupScript保證指令碼能在前面被執行。  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.