程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> ASP.NET服務器端與javascript交互的一種方法

ASP.NET服務器端與javascript交互的一種方法

編輯:.NET實例教程

昨天在項目中遇到了一個問題,要前台腳本調用調用後台的事件。經過查閱網上的資料,這個方法還不錯。

第一步:前台寫一個腳本,我需要在前台判斷用戶輸入的是否是回車鍵,然後執行後台函數。

 



<script type="text/Javascript">
    function keyClick(cmd)
    ...{
        //判斷是否是回車鍵
        if(event.keyCode==13)
        ...{
            //執行後台更新代碼
            eval(cmd);
        }
    }
</script>

 

第二步:在後台寫相應的函數。將要傳的參數定義為字符串,通過GetPostBackEventReference在Render事件中來安全的注冊腳本。

 



    protected override void Render(HtmlTextWriter writer)
    ...{
        foreach (GridViewRow Row in GridVIEw1.Rows)
        ...{
          //這裡進行安全腳本注冊,只能在Render事件中進行,
           String  References = ClIEntScript.GetPostBackEventReference(gvRegister, "Update$" + Row.RowIndex.ToString(), True)
            String Script= "Javascript:keyClick(""EVAL_COMMAND"")"
           //傳參數
            Script = Script.Replace("EVAL_COMMAND", References)
            if (Row.RowType == DataControlRowType.DataRow)
            ...{
         //ClIEntScript.GetPostBackEventReference只能在Render的時候調用,進行安全注冊腳本
                if (Row.RowState == DataControlRowState.Edit)
                ...{
                        Row.Attributes.Add("onkeydown", Script)
                }
            }
        }
        base.Render(writer);
    }

 

 這樣就可以前台後台交互了。是不是很方便

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved