.NET 3.5, MVC2 및 JQuery1.4.1에서 Jquery getJSON을 사용하여 서버 측 메소드를 호출하려고합니다.
일부 온라인 자습서를 따라 왔지만 serverside 메소드가 null이 아닌 다른 것을 돌려 줄 수는 없습니다. 아래의 JS에서 3 가지 경고가 모두 발생하고 내 서버 측 방법 (아래 참조)에서 중단 점을 맞힐 수 있습니다. 나가 밖으로 시작하고 있기 때문에, 나는 나가 어리석은 무언가를 한 경우에 대비하여 모든 클라이언트 측 코드를 포함시켰다. 내가 잘못하고있는 어떤 아이디어라도 - 나는 서버에서 가치를 되찾기 위해 오래 동안 노력했습니다. 많은 감사합니다.
내 클라이언트 코드는 다음과 같습니다
<@ 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);
}
. 그것이 좋은 생각은 아니지만, 잘못되었거나 오류를 일으키지는 않습니다. –
@Dave Ward, 그들은 작동하지만 사용법을 권장하지 않습니다. –
대단합니다. 대린에게 감사드립니다. 확실히 MVC에서 사용할 수있는 것과 사용할 수없는 것에 혼란스러워했습니다. 나는 내가 ScriptManager를 가질 수 없다는 것을 생각해 냈다. 수업은 배웠다. JSON 요청의 반환이 제대로 작동하고 있습니다. 다시 한번 감사드립니다. – Beon