js調(diào)用.net后臺事件和后臺調(diào)用前臺等方法

字號:


    1. javaScript函數(shù)中執(zhí)行C#代碼中的函數(shù):
    方法一:1、首先建立一個按鈕,在后臺將調(diào)用或處理的內(nèi)容寫入button_click中;
    2、在前臺寫一個js函數(shù),內(nèi)容為document.getElementByIdx("btn1").click();
    3、在前臺或后臺調(diào)用js函數(shù),激發(fā)click事件,等于訪問后臺c#函數(shù);
    方法二:1、函數(shù)聲明為public
    后臺代碼(把public改成protected也可以)
    public string ss()
    {
    return("a");
    }
    2、在html里用 <%=fucntion()%>可以調(diào)用
    前臺腳本
    <script language=javascript>
    var a = " <%=ss()%>";
    alert(a);
    </script>
    方法三:1、 <script language="javascript">
    <!--
    function __doPostBack(eventTarget, eventArgument)
    {
    var theForm = document.Form1; //指runat=server的form
    theForm.__EVENTTARGET.value = eventTarget;
    theFrom.__EVENTARGUMENT.value = eventArgument;
    theForm.submit();
    }
    -->
    </script>
    <input type="button" value="按鈕" >
    方法四: <script language="javascript">
    function SubmitKeyClick()
    {
    if (event.keyCode == 13)
    {
    event.cancelBubble = true;
    event.returnValue = false;
    document.all.FunName.value="你要調(diào)用的函數(shù)名";
    document.form[0].submit();
    }
    }
    </script>
    <INPUT type="text">
    <input type="hidden" > 〈!--用來存儲你要調(diào)用的函數(shù) --〉
    在.CS里有:
    public Page_OnLoad()
    {
    if (!Page.IsPost())
    {
    string strFunName=Request.Form["FunName"]!=null?Request.Form["FunName"]:"";
    //根據(jù)傳回來的值決定調(diào)用哪個函數(shù)
    switch(strFunName)
    {
    case "enter()":
    enter() ; //調(diào)用該函數(shù)
    break;
    case "其他":
    //調(diào)用其他函數(shù)
    break;
    default:
    //調(diào)用默認(rèn)函數(shù)
    break;
    }
    }
    }
    public void enter()
    {
    //……比如計算某值
    }
    2.如何在JavaScript訪問C#變量?
    答案如下:
    方法一:1、通過頁面上隱藏域訪問 <input type="hidden" runat="server">
    方法二:1、如后臺定義了PUBLIC STRING N;前臺js中引用該變量的格式為' <%=n%>'或"+ <%=n%>+"
    方法三:1、或者你可以在服務(wù)器端變量賦值后在頁面注冊一段腳本
    " <script language='javascript'>var temp=" + tmp + " </script>"
    tmp是后臺變量,然后js中可以直接訪問temp獲得值。
    3.如何在C#中訪問JavaScript的已有變量?
    答案如下:
    方法一:1、前臺使用靜態(tài)文本控件隱藏域,將js變量值寫入其中;
    2、后臺用request["id"]來獲取值;
    方法二:可以用cookie或session
    4.如何在C#中訪問JavaScript函數(shù)?
    答案如下:
    c#代碼中執(zhí)行javaScript函數(shù):
    方法一:1、Page.RegisterStartupScript("ggg"," <script>SetVisible(1); </script>");
    方法二:使用Literal類,然后
    private void Button2_Click(object sender, System.EventArgs e)
    {
    string str;
    str=" <script language='javascript'>";
    str+="selectRange()";
    str+=" </script>";
    //Literal1.Visible=true;
    Literal1.Text=str;
    }