Asp.net mvc 来自$.getJSON的响应返回null

Asp.net mvc 来自$.getJSON的响应返回null,asp.net-mvc,ajax,json,Asp.net Mvc,Ajax,Json,我想在.NET3.5、MVC2和JQuery1.4.1中使用jQueryGetJSON调用服务器端方法 我已经学习了一些在线教程,但无法让服务器端方法返回除null以外的任何内容。所有3个警报都在下面的JS中触发,我可以在我的服务器端方法(也在下面)上找到一个断点。在我开始的时候,我已经包含了所有客户端代码,以防我做了一些愚蠢的事情。你知道我做错了什么吗?我花了很多时间试图从服务器上获取一个值。非常感谢 我的客户端代码是:(每一行都缺少开头我认为您在这里混淆了一些概念。ASP.NET和ASP.N

我想在.NET3.5、MVC2和JQuery1.4.1中使用jQueryGetJSON调用服务器端方法

我已经学习了一些在线教程,但无法让服务器端方法返回除null以外的任何内容。所有3个警报都在下面的JS中触发,我可以在我的服务器端方法(也在下面)上找到一个断点。在我开始的时候,我已经包含了所有客户端代码,以防我做了一些愚蠢的事情。你知道我做错了什么吗?我花了很多时间试图从服务器上获取一个值。非常感谢


我的客户端代码是:(每一行都缺少开头我认为您在这里混淆了一些概念。ASP.NET和ASP.NET MVC不是一回事。从您的代码片段中,我假设这是一个ASP.NET MVC应用程序(您的视图继承自
System.Web.MVC.ViewPage
)。在ASP.NET MVC应用程序
中,有几个WebForms控件在MVC中工作,如中继器、菜单和按钮。这不是一个好主意,但它不是无效的,也不会导致错误。@Dave Ward,它们确实工作,但我不推荐它们的用法。那太好了-谢谢Darin。我确实对什么可以和什么感到困惑无法与MVC一起使用。我不认为我会发现我没有ScriptManager。吸取了教训。JSON请求的返回现在工作正常。再次感谢。
<@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    Home Page
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">    

<form id="form1" runat="server">    
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="True">
</asp:ScriptManager>   

<script src="../../Scripts/jquery-1.4.1.js" type="text/javascript"></script>   

<script>
function test() 
{
  alert("Here");  
  $.getJSON(
    "/Home/Test", null, function(data, status) { alert("Success!"); alert(data); });
};      
</script>

<asp:Button ID="Button1" runat="server" Text="Call Page Methods" OnClientClick="return test()"/> 

</form>        

</asp:Content>
public JsonResult Test()
{
  string fooString = "test";
  return Json(fooString, JsonRequestBehavior.AllowGet);  
}
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">    

    <script src="../../Scripts/jquery-1.4.1.js" type="text/javascript"></script>   
    <script type="text/javascript">
    $('#btnTest').click(function() {
        $.getJSON('/Home/Test', null, function(data) { 
            alert("Success!");
        });
        return false;
    });
    </script>
    <input type="button" id="btnTest" name="test" />
</asp:Content>