• Maison  >  Article  >  interface Web  >  javascript与asp.net(c#)互相调用方法_javascript技巧

    javascript与asp.net(c#)互相调用方法_javascript技巧

    WBOY
    WBOYoriginal
    2016-05-16 18:39:271606parcourir

    1、获得aspx客户端请求地址:

    复制代码 代码如下:



    2、C#调用客户端方法:(top.window.document:表父窗体,如果是MainFrame对象在本窗体中,则不加top.window.document)
    Js中的方法:
    复制代码 代码如下:

    function navurl(url) {
    $("#mainFrame",top.window.document).attr("src", url);
    }


    C#调用:
    复制代码 代码如下:

    string navUrl = "javascript:navurl('" + "http://" + Request.Url.Host + ResolveUrl("../Document/callIndex.aspx?FolderId=");
    DocName.NavigateUrl = navUrl + txtDocId.Value.Trim() + "')";


    3. C#调用客户端方法:
    复制代码 代码如下:

    page.ClientScript.RegisterStartupScript(page.GetType(), "message", "");

    下面要解决的问题如下:
    1.如何在JavaScript访问C#函数?
      2.如何在JavaScript访问C#变量?
      3.如何在C#中访问JavaScript的已有变量?
      4.如何在C#中访问JavaScript函数?
      问题1答案如下:
      javaScript函数中执行C#代码中的函数:
      方法一:
    1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中;
      2、在前台写一个js函数,内容为document.getElementById("btn1").click();
      3、在前台或后台调用js函数,激发click事件,等于访问后台c#函数;
      方法二:
    1、函数声明为public
      后台代码(把public改成protected也可以)
    public string ss()
      {
        return("a");
      }
      2、在 html 里用可以调用前台脚本

      方法三:

      
      方法四:

      
       〈!--用来存储你要调用的函数 --〉
      在.CS里有:
    public Page_OnLoad()
      {
        if (!Page.IsPost())
        {
          string strFunName=Request.Form["FunName"]!=null?Request.Form["FunName"]:"";
          //根据传回来的值决定调用哪个函数
          switch(strFunName)
          {
            case "enter()":
            enter() ; //调用该函数
            break;
            case "其他":
            //调用其他函数
            break;
            default:
            //调用默认函数
            break;
          }
        }
      }
      public void enter()
      {
        //……比如计算某值
      }
      
    问题2.如何在JavaScript访问C#变量?
      答案如下:
      方法一:1、通过页面上隐藏域访问
      
    方法二:1、如后台定义了PUBLIC STRING N; 前台js中引用该变量的格式为''或"++"
      
    方法三:1、或者你可以在服务器端变量赋值后在页面注册一段脚本
    ""
      tmp是后台变量,然后js中可以直接访问temp获得值。
      
    问题3.如何在C#中访问JavaScript的已有变量?
      答案如下:
      方法一:1、前台使用静态文本控件隐藏域,将js变量值写入其中;2、后台用request["id"]来获取值;
      方法二:可以用cookie或session
      
    问题4.如何在C#中访问JavaScript函数?
      答案如下:
      c#代码中执行javaScript函数:
      方法一:1、
    Page.RegisterStartupScript("ggg"," ");
      方法二:使用Literal类,然后
    private void Button2_Click(object sender, System.EventArgs e)
      {
        string str;
        str=" ";
        //Literal1.Visible=true;
        Literal1.Text=str;
      }
    Déclaration:
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn