构建一个Javascript小部件:我可以调用一个aspx吗?

时间:2012-05-29 13:55:03

标签: javascript widget

我想创建自己的JS小部件,它必须是dinamic。 我的意思是,例如,从下载的脚本生成的html:

<script src="www.mywebsite.it/widget/?ID=2&Category=4" type="text/javascript"></script>

必须与以下内容不同:

<script src="www.mywebsite.it/widget/?ID=1&Category=5" type="text/javascript"></script>

和数据到HTML应该从我的服务器上的数据库中获取。那么,我需要调用一个aspx页面来创建将创建html的javascript?或者哪个可能是解决方案?

2 个答案:

答案 0 :(得分:1)

更好的方法是使用.ashx的通用处理程序,如果您想从服务器检索数据并以JSON或XML发送数据。 接下来,数据将使用javascript插入到页面中。

所以,如果我理解得很好,你会生成一个.aspx,它包含你的模板和一个javascript,如果你使用JQuery,它会保存代码以在Category中导航:

$.ajax({
  url: 'data.ashx?ID=2&Category=5',
  success: function(data) {
    $('.result').html(data);
    alert('Load was performed.');
  }
});

服务器落后(ashx):

    private readonly JavaScriptSerializer _js = new JavaScriptSerializer();        
    public void ProcessRequest(HttpContext context)
    {         
      //Do logic and retrieve data here
      Categorys c = GetFooById(context.Request["id"]);

      context.Response.Write(_js.Serialize(c));
      context.Response.ContentType = "application/json";
    }

答案 1 :(得分:0)

您似乎想要使用AJAX。

脚本源不应该是动态的(如果是,它不能被缓存),但是脚本本身可以调用你喜欢的任何页面来拉回数据(比如JSON格式)或原始标记放在一个预定义元素。

如果可以提供帮助,请不要使用ASPX页面创建javascript。

考虑使用jQuery之类的JavaScript库来帮助你。