从ascx页面中的代码调用web方法

时间:2017-02-06 13:53:19

标签: c# asp.net ajax user-controls

我有一个脚本函数可以调用带有两个参数的web方法。我想从后面的代码调用这个脚本函数。这是我想从后面的代码调用的脚本函数。(我使用的是.ascx用户控件)。

function BindApporment(obj, divid) {
        debugger;
        var username = "<%= Session["UserId"]%>";
        var id = document.getElementById('<%=Hiddendocid.ClientID%>').value;
        if (id != "") {
            username = id;
        }
        $.ajax({
            type: "POST",
            url: "Dashboard.aspx/BindAppointment",
            contentType: "application/json;charset=utf-8",
            data: "{'date':'" + obj + "',userid:'" + username + "'}",
            dataType: "json",
            success: function (data) {
                $(divid).html(data.d);
            },
            error: function (result) {
                alert("Error ");
            }
        });
    }

这是我的网络方法

[WebMethod]
        public static string BindAppointment(DateTime date, string userid)
        {
        }

...我想从代码后面调用脚本函数BindApporment()..我已经尝试了很多代码,但这不起作用.. 我试过这些代码但没有工作:

this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "BindApporment", "<script>BindApporment(" + date.AddDays(k).Date + "," + ddldoc.SelectedValue + ");</script>");

任何建议??

1 个答案:

答案 0 :(得分:0)

您尝试这样做不适用于ASP.NET结构。 ascx控件无法处理请求。 ASCX可以使用postbacl发送的数据

您需要创建ASMX服务并使用ajax请求进行查询。 How to let an ASMX file output JSON