使用jQuery load()调用.aspx.cs代码后面的函数

时间:2012-06-14 13:44:33

标签: c# jquery asp.net .net code-behind

所以我有类似这样的情况:

    $(document).on('click', 'a[data-link]', function () {
        var $this = $(this);
        url = $this.data('link');
        $("#imagePreview").load("imageProcess.aspx?" + url);

其中url包含GET个参数。但imageProcess.aspx与我所在的文件(dashboard.aspx)不同,我需要在dashboard.aspx文件中引用一些面板。所以我的问题是,使用.load()函数,甚至任何可以完成工作的函数,如何在GET代码后面的dashboard.aspx代码中调用函数?我对.NET框架相当新,所以如果问题听起来很简单,我会道歉。

2 个答案:

答案 0 :(得分:3)

imageProcess.aspx.cs创建一个类似的网络方法

[WebMethod]
public static string YourMethod(your parameters)
{
//Do Your Work
}

并在您的仪表板页面中,在javascript中使用jquery发送请求您的webmethod如:

$.ajax({
type: "POST",
    url: "imageProcess.aspx/YourMethod",
    data: "{parameter1Name:'" + JSON.stringify(parameter1value) + "', Parameter2Name:'" + JSON.stringify(parmeter2Value) + "'}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(data) {
// do your success work, keep in mind that your returned data will be in data.d
    },
error: function(XMLHttpRequest, textStatus, errorThrown) {
// do your failuer work
}
});

我希望它能为你提供指导,帮助你完成任务。

答案 1 :(得分:0)

只是为了确保:您正在尝试从不同于当前所在页面的aspx页面访问功能。 我不完全确定你是否可以通过java脚本轻松实现这一点。也许其他人知道更好的方法,但我这样做的方法是创建ashx服务页面,它将处理您的请求,以便您可以提供所需的数据(在您的情况下是图像)

有关详细信息,请参阅http://www.dotnetperls.com/ashx