我试图在单击按钮时使用jquery来调用c#函数。会发生什么是返回变量(msg)为空。
按钮代码:
<button id="test1" runat="server">Get Text</button>
JQuery代码:
$(document).ready(function() {
$("#test1").click(function() {
$.ajax({
type: "POST",
url: "ServiceDirectoryAdd.aspx/GetCurrentDate",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
alert(msg);
}
});
});
});
C#功能:
[WebMethod]
public static string GetCurrentDate()
{
return "foo";
}
正如我所说,返回变量msg返回null。有什么我做错了吗?
编辑:在C#函数中放置断点后,程序似乎没有进入函数。
答案 0 :(得分:0)
你试过GET
吗?
$.get("ServiceDirectoryAdd.aspx/GetCurrentDate", function(data){
alert(data || data.d);
});
并修改webmethod
以接受get
[WebMethod]
[ScriptMethod(UseHttpGet=true)]
public static string GetCurrentDate()
{
return "foo";
}
答案 1 :(得分:0)
尝试索引msg
alert(msg[0]); or alert(msg.d);
答案 2 :(得分:0)
您是否在页面中添加了脚本管理器。如果你没有添加它。请添加它,然后将脚本管理器“EnablePageMethod”属性设置为true。
这是链接。 http://encosia.com/using-jquery-to-directly-call-aspnet-ajax-page-methods/