JS和ASP.net相互调用问题
2015-12-15 13:50
465 查看
项目开发时,我们有时候会遇到后台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();
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();
相关文章推荐
- casperjs#2#syntax
- ASP实现多行注释的方法(dw)
- Win10 IIS以及ASP.NET 4.0配置问题日志
- 在服务器上发布 asp以及html网站 配置过程
- ASP.NET 5 - $.ajax post JSON.stringify(para) is null
- ASP.NET MVC 关闭 客户端 xss 检查
- ASPxPopupControl 关闭刷新
- ASP.NET 获取IP和MAC地址
- GridView的编辑,更新,取消,删除等功能演示
- 25、ASP.NET MVC入门到精通——Spring.net-业务层仓储
- asp.net中三层架构与mvc之区别?
- Asp.net Model binding
- 【ASP.NET】ASP.NET之数据验证控件
- ASP.NET内核几大对象、ASP.NET核心知识(6)--转载
- Encountered an unexpected error when attempting to resolve tag helper directive '@addTagHelper' with value '"*, Microsoft.AspNet.Mvc.TagHelpers"'
- 多个web.config文件按照上面顺序加载
- Windows2008 64位系统asp连接access数据库解决方法
- ASP.NET MVC 的URL路由介绍
- ASP.NET 设置DropDownList的当前选项
- spring AspectJ的Execution表达式