Javascript 和C#之間的互相調用和訪問

來源:互聯網
上載者:User

這包括了JS調用c#方法,JS訪問C#變數,C# 調用JS代碼,C#訪問JS變數的各種方法

JS代碼:

<script language="javascript" type ="text/javascript" >        var JSVar = "This is JS Code ";        function getcsharpstring() {            //去調用c#的函數,請注意帶參數的寫法            var mys = '<%=CSharpString("___________This is JS Code ")%>';             //沒有參數的可以這樣寫var mys = "<%=CSharpString()%>";            alert(mys)        }        function getcsharpvar() {            var mys = '<%= CSharpVar%>';//調問c#中的變數             alert(mys)        }        //此函數用於C#調用        function CSharpCall() {            alert("這裡設定一個ookie ");             //設定一個cookie ,在c#讀取這個cookie的值來達到訪問JS變數             document.cookie = "JSVarToCSharp= " + JSVar;        }            </script>

c#後台代碼:

public partial class _Default : System.Web.UI.Page {    public string CSharpVar = "這是CSharp代碼";//C#變數    protected void Page_Load(object sender, EventArgs e)    {    }    //被JS調用    public string CSharpString(string _string )    {         return  "這是CSharp代碼" + _string  ;    }        protected void Button3_Click(object sender, EventArgs e)    {        string jsString = "<script   language=javascript > CSharpCall() </script>";    /*請注意:如果這個Button3_Click是一個非同步方法呼叫的話(即ajax 中),那麼:    要用這一句去執行:     ScriptManager.RegisterStartupScript(up, this.GetType(), "1","CSharpCall()",true) */        Page.RegisterStartupScript("ggg", jsString);//調用JS方法    }    protected void Button4_Click(object sender, EventArgs e)    {    //通過讀取cookie 來得到JS的變數         HttpCookie cookie = Request.Cookies["JSVarToCSharp"];        if (cookie != null)        {            string jsVar = cookie.Value.ToString();        }    //可以用同樣的方法讓JS訪問c#代碼,如下    /*    c#(加) :    using System.Web      HttpCookie   UserCookie   =   new   HttpCookie("UserName",UserName);         Response.Cookies.Add(UserCookie);    (登出)    Request.Cookies.Clear();       //將Cookies["UserName"]置空       HttpCookie   customerCookie   =   new   HttpCookie("UserName",   string.Empty);       Response.Cookies.Add(customerCookie);     JS:    function getCookie(objName)    {//擷取指定名稱的cookie的值        var arrStr = document.cookie.split("; ");        for(var i = 0;i < arrStr.length;i ++)            {                var temp = arrStr[i].split("=");                if(temp[0] == objName) return unescape(temp[1]);            }     }    function delCookie(name)    {//為了刪除指定名稱的cookie,可以將其到期時間設定為一個過去的時間        var date = new Date();        date.setTime(date.getTime() - 10000);        document.cookie = name + "=a; expires=" + date.toGMTString();    }    */    }}

以上兩個,是同一個頁面的一個是前台一個是後台

相關文章

聯繫我們

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