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

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

  后台C#代码如下:

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);
}

  前台js代码如下:

function load(categoryId) {
    $.ajax({
        type: "get",
        url: '<%=ResolveUrl("~/Handler/Test.ashx") %>',
        dataType: "json",
        data:"categoryId="+categoryId,
        success: function (result) {
            $.each(result, function (index, data) {
       });
        }
    });
};