JS和ASP.net相互调用问题

项目开发时,我们有时候会遇到后台asp调用前台的JS函数,又或者前台JS需要调用后台aspx.cs的函数,这里记录下如何处理这些问题

 

1.  ASP后台代码中,如果需要运行JS函数,则使用RegisterStartupScript函数,如下

 

Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>window.open('default2.aspx')</script>");

 

RegisterClientScriptBlock方法的两个构建方式如下:
● RegisterClientScriptBlock (type,key,script)
● RegisterClientScriptBlock (type,key,script,script tag specification)

 

protected void Page_Load(object sender,EventArgs e)
{
string myScript = @"function AlertHello() { alert('Hello ASP.NET'); }";
Page.ClientScript.RegisterClientScriptBlock(this.GetType(),
"MyScript",myScript,true);
}

 

2. 前台页面获取后台ASPX.cs定义的变量

如在ASPX.cs定义的变量  public static string UserName = string.Empty;

前台页面可以这样引用它:var UserName = <%=UserName %>; 

 

对于服务器控件如:

 

<asp:TextBox ID="tbUserName" runat="server" Width="200px" class="required"></asp:TextBox>

//获取textbox的值

document.getElementById("<%=tbUserName.ClientID%>").value 

 

<asp:Button ID="btn1" runat="server" Text="test"  Width="100px"  Height="26px" OnClick="btnSubmit_Click" />

//按钮的点击

document.getElementById("btn1").click();

 

posted @ 2015-12-15 13:50  sky960  阅读(1744)  评论(0编辑  收藏  举报