asp.net中前台javascript与c#函数相互调方法

javaScript函数中执行C#代码中的函数

步骤如下:
1 前台放一个按钮。设置为隐藏。注意:不能直接设置Visible=false的方式,这样的话在ASP.Net 2.0编译后的代码里是找不到这个按钮的。需要设置风格:style="display:none;"
2 双击按钮,写入C#方法,或者写一个调用后台其他方法的代码段
3 前台JS调用的时候,照如下写,这样可以模拟按钮的点击事件,触发后台方法:
document.getElementById("Button2").click();

前台 Code

asp.net中前台javascript与c#函数相互调方法_第1张图片

后台 Code

asp.net中前台javascript与c#函数相互调方法_第2张图片

 

javascript中访问C#变量

1. 通过页面上的隐藏域访问:(将变量值保存为页面控件的属性)

2. 如后台定义了PUBLIC STRING N;前台js中引用该变量的格式为'<%=n%>'或"+<%=n%>+"  

3. 或者你可以在服务器端变量赋值后在页面注册一段脚本

 "<script language='javascript'>var temp=‘" + tmp + "’</script>"  

 

前台 Code

function GetC1() {
            var numjs = '<%=num%>';
            numjs = numjs + 1;
            alert(numjs);
            strjs = strjs + "word";
            alert(strjs);
        } 

后台 Code

    public int num = 1;
        public string str = "Hello";
  
        protected void Page_Load(object sender, EventArgs e)
        {
            Page.ClientScript.RegisterStartupScript(GetType(), "", "<script language='javascript'>var strjs='" + str + "'</script>");
        }

 

C#中访问JavaScript函数

1. 页面注册方法:

Page.ClientScript.RegisterStartupScript(GetType(), "Description", "GetJSMethod()", true);

2.Response.Write();,要注意的是Write里面要写完成的方法体,如下:

            Response.Write("<script type='text/javascript'>window.open('DownLoadFile.aspx?FileName=' + filename, 'newwindow','height=600,width=800,top=0,left=0,toolbar=no,menubar=no,scrollbars=yes,resizable=no,location=no,status=no');</script>");

 3.Literal方法

     string str = "";
            str += "<script type='text/javascript'>";
            str += "AA();";
            str += "</script>";
            Literal1.Text = str;

 

 

 

你可能感兴趣的:(JavaScript)