asp.net前后台调用

1.JavaScript访问C#函数

2.JavaScript访问C#变量

3.C#中访问JavaScript的已有变量

4.如何在C#中访问JavaScript函数

JavaScript访问C#函数

方法一、

       1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中;
       2、在前台写一个js函数,内容为document.getElementById("btn1").click();
       3、在前台或后台调用js函数,激发click事件,等于访问后台c#函数;

方法二、

       1、 函数声明为public 或protected             


          public string Hello()
           
{
              
return("Hello World");
           }

       2、在html里用<%=fucntion()%>可以调用


<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    
<title>Untitled Page</title>
    
<script language="javascript" type="text/javascript">
      
function say()
      
{
           
var strHello = "<%=Hello()%>";
           alert(strHello);
       }

     
</script>
</head>
<body>
    
<form id="form1" runat="server">
    
<div>    
        
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="say();" />    
    
</div>
    
</form>
</body>
</html>

方法三、

 

JavaScript中访问C#变量

方法一:1、通过页面上隐藏域访问<input id="xx" type="hidden" runat="server">
方法二:1、如后台定义了PUBLIC STRING N;前台js中引用该变量的格式为'<%=n%>'或"+<%=n%>+"
方法三:1、或者你可以在服务器端变量赋值后在页面注册一段脚本
           "<script language='javascript'>var temp=" + tmp + "</script>"
           tmp是后台变量,然后js中可以直接访问temp获得值。

C#中访问JavaScript的已有变量

方法一:1、前台使用静态文本控件隐藏域,将js变量值写入其中;
              2、后台用request["id"]来获取值;

方法二:可以用cookie或session

C#中访问JavaScript函数

方法一:1、Page.RegisterStartupScript("ggg","<script>SetVisible(1);</script>");
方法二:使用Literal类,然后

首先说明<%= %>的以前asp的用法,在asp.net也实用,<%# %>是asp.net中推出的用法,asp中未用这种用法。

举个例子:
        如在后台中 form.vb 中我定义了一个变量(要全局的)
                public istg_xo as string="ABC"
        那么我在前台from.aspx中任何一个地方就可以调用这个变量了....
        <javascript>
                var xx=<%=istg_xo%>         <!--取得后台中的istg_xo的变量-->
                alter<xx>                              <!--输出显示是否得到值-->
        </javascript>

再个個例子,假若我在后台中有一个datatable ,我现在想在前台依次取出这个datatable內变个字段的变量...
    后台.cs    (C#)
      string message=string.empty;
      public getmessage()
        {
                for ( int lint_row=0; lint_row<datatable.rows.count;lint_row++)
                      {
                        message+="message["+lint_row.tostring()+"]="+idtb_temp.rows(lint_rows).item("xx1").tostring()+";";
                        //生成客户端message数组,供前台调用...
                        }
        }

前台采用同样的方法,来取出这个数组....


<%# %> 的用法比较简单.....
    如在后台我有一个dataset ....那么前台我就可以调用这个dataset 中的任何字段的內容了...
    用法:
     text='<%#DataBinder.Eval(Container.DataItem,“DataSet字段名”%>'

posted @ 2008-10-15 09:42  快乐  阅读(193)  评论(0编辑  收藏  举报