11
2014
04

JS触发后台事件的方法

 
方法一:doPostBack.

_doPostBack函数 是触发除Button事件以外的后台事件


方法二: 使用button的ckick事件

<script type="text/javascript" language="javascript">
  function ToBehindFunction()
  {
      document.getElementById("Submit1").click();
  }
   </script>

******************************************

<form id="form1" runat="server">
    <div>
        <asp:TextBox ID="TextBox1" runat="server" onblur="ToBehindFunction()"></asp:TextBox>
    <input type="submit" value="隐藏:只能通过style隐藏.不能用visible隐藏,否则JS获取不到这个按钮"  style=" display:none;" id="Submit1" onclick="return Submit1_onclick()" runat="server" onserverclick="Submit1_ServerClick" />
    </div>
    </form>

*****************************************

protected void Submit1_ServerClick(object sender, EventArgs e)
    {
        ClientScript.RegisterStartupScript(this.GetType(), "script", "<script>alert('在后台通过JS获取前台信息:" + this.TextBox1.Text + "')</script>");
    }


方法三: formSubmit

<script language="javascript" type="text/javascript">
function EventEnter()
{
   key=window.event.keyCode;
  if(key!=13) return ;
  alert("开始后台方法");

  document.formSubmit.submit();
}
</script>

<form id="formSubmit" runat="server">
    <div>
        <asp:TextBox ID="TextBox1" runat="server" onkeypress="javascript:return EventEnter();"></asp:TextBox>使用form.Submit的方法
        <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
    </div>
    </form>

后台代码
protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            ClientScript.RegisterStartupScript(this.GetType(), "script", "<script>alert('!IsPostBack内:在后台通过JS获取前台信息:" + this.TextBox1.Text + "')</script>");
        }
        else
        {

            // document.formSubmit.submit();将获调用这部分代码
            ClientScript.RegisterStartupScript(this.GetType(), "script", "<script>alert('!IsPostBack外:在后台通过JS获取前台信息:" + this.TextBox1.Text + "')</script>");
        }
    }

方法四:函数声明为public                       
后台代码(把public改成protected也可以)          
public string ss()         
 {               
return("a");          
 }//这种方法的缺点是不能将前台的参数传入到后台的函数体中        

html里用 <%=fucntion()%>可以调用 前台脚本         
  <script language=javascript>          
var a = " <%=ss()%>";          
alert(a);          
</script>

 

 

« 上一篇下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。