asp.net后台调用前台js代码

      为了经过ajax异步获取数据,我经过使用jquery的$(function{})方法,在页面加载时发送ajax请求,获取相关的数据。可是遇到了一个问题,当我发送的ajax请求须要根据传过来的URL参数来获取数据时,这就存在一个问题,怎样将后台获取的参数传递给前台js的问题。因为页面是先加载jquery的ajax请求页面,再执行后台代码的Page_Load方法,因此必须在获取参数以后再调用ajax方法。能够经过在后台代码中注册前台js代码,控制它的执行顺序。

后台C#代码以下:jquery

<SPAN style= "FONT-SIZE: 14px" > private string categoryId = "0" ;
protected void Page_Load( object sender, EventArgs e)
{
     if (!String.IsNullOrEmpty(Request.QueryString[ "categoryId" ]))
     {
         categoryId = Request.QueryString[ "categoryId" ];  
     }
     Page.ClientScript.RegisterStartupScript( this .GetType(), "" , "load(" +categoryId+ ")" ,   true );
}
  
</SPAN>

 

前台js代码以下:ajax

1
2
3
4
5
6
7
8
9
10
11
12
13
<SPAN style= "FONT-SIZE: 14px" >function load(categoryId) {
     $.ajax({
         type: "get" ,
         url: '<%=ResolveUrl("~/Handler/Test.ashx") %>' ,
         dataType: "json" ,
         data: "categoryId=" +categoryId,
         success: function (result) {
             $.each(result, function (index, data) {
});
         }
     });
};
</SPAN>
相关文章
相关标签/搜索