张银的博客


Eat to live, but do not live to eat.

导航

JS调用.NET后台

Posted on 2009-02-14 23:44  张银  阅读(1334)  评论(4编辑  收藏  举报

一:访问后台函数
方法一:
后台

    protected string f( string x)
    {
        
return x +"欢迎你!";
    }


前台

<script language="javascript" type="text/javascript">
function Button1_onclick() {
    
var a = "张银" ; 
    alert(
'<%= f("'+ a +'") %>');
}
</script>
<input id="Button1" type="button" value="通过JS调用.NET后台" onclick="return Button1_onclick()" />


方法二:
前台

<style type="text/css">
.display
{
    display
:none;
}
</style>
<script type="text/javascript" language="javascript"> 
function Test() 

alert(
"你好"); 
document.getElementById(
"Button3").click();   //

</script>
<asp:Button ID="Button2" runat="server" OnClientClick="Test()" Text="点击我" />
<asp:Button ID="Button3" runat="server" OnClick="Button3_Click" Text="过渡按钮" CssClass="display" />

为什么不能直接设置Button3的Visible=false,难道这样的话在ASP.Net 2.0编译后的代码里会找不到这个按钮?

后台

using System.Windows.Forms;  //可能需要先添加引用

    
protected void Button3_Click(object sender, EventArgs e)
    {
        MessageBox.Show(
"张银欢迎你""标题");
    }



方法三:

<script language="javascript"> 
  
function SubmitKeyClick() 
  { 
    
if (event.keyCode == 13
    { 
    event.cancelBubble 
= true
    event.returnValue 
= false
    document.all.FunName.value
="你要调用的函数名"; 
    document.form[
0].submit(); 
    } 
  } 
  
</script> 

  
<INPUT onkeypress="SubmitKeyClick()" id="aaa" type="text"> 
  
<input type="hidden" name="FunName"> <!-- 用来存储你要调用的函数 -->
protected void Page_Load(object sender, EventArgs e) 

  
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() 

  
//……比如计算某值 
}


二:访问后台变量
可以在服务器端变量赋值后在页面注册一段脚本
"<script language='javascript'>var temp=" + tmp + "</script>"
tmp是后台变量,然后js中可以直接访问temp获得值