从Visual Studio中的第二个项目引用通用处理程序

时间:2013-02-01 22:26:54

标签: c# javascript jquery asp.net .net

我有两个项目的解决方案。首先是Web,其次是其他东西(SecondProject)。 在第一个项目(web)中,我有aspx页面和带有AJAX函数的jquery脚本,这些函数需要第二个项目中的引用处理程序。怎么做?代码示例:

                $.ajax({
                    type: "POST",
                    url: '<%= ResolveUrl("HandlerInSecondProject/GetDataBySample.ashx?q=' + request.term + '") %>',
                    dataType: "json",
                    contentType: "application/json; charset=utf-8",
                    success: function (data) {
                        var obj = data;
                        response($.map(obj, function (item) {
                            return {
                                label: item.Term,
                                id: item.ID
                            }
                        }));
                    }
                });

1 个答案:

答案 0 :(得分:0)

第二个项目也应该是一个Web项目,否则ASP.NET将无法正确托管该处理程序。第二个项目是Web项目后,URL

url: '<%= ResolveUrl("HandlerInSecondProject/GetDataBySample.ashx?q=' + request.term + '") %>',

应该只引用第二个Web项目上处理程序的位置。

然后,您只需要告诉处理程序返回json,即ProcessRequest方法:

context.Response.Write(
    jsonSerializer.Serialize(
        new
        {
            Term = "My Term",
            ID = 22
        }
    )
);

当你从jQuery中调用它时,你应该把结果作为json返回,并且无论你喜欢什么都可以使用它。