2009-04-18 7 views
2

저는 AJAX와 Javascript 세계에 매우 익숙하며 페이지의 일부를 업데이트하기 위해 양식 제출의 예제 인 Scott Hanselman's을 구현하려고합니다. 나는 그의 예를 거의 한 마디 말로 모방했고 나는 그것을 작동시키지 못하고있다. 제출 버튼을 클릭하면 컨트롤러 작업이 성공적으로 호출되지만 결과는 Ajax 양식에서 지정한 범위 만 업데이트하는 대신 브라우저에서 새 페이지로 렌더링됩니다.ASP.net MVC에서 작동하도록 Ajax 양식을 제출하려면 어떻게해야합니까?

<asp:Content ID="indexHead" ContentPlaceHolderID="head" runat="server"> 
    <title>Home Page</title> 
</asp:Content> 

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

    <% using (Ajax.BeginForm("TestAction", new AjaxOptions { UpdateTargetId = "target" })) 
     { %> 

     <%= Html.TextBox("TextBox")%> 
     <input type="submit" value="Submit" /> 
     <span id="target" /> 

    <% } %> 

</asp:Content> 

그리고 내 컨트롤러 액션 : 여기

내보기 코드

public string TestAction(string TextBox) 
    { 
     return TextBox; 
    } 

그리고 난 다음 마스터 페이지

<script src="../../Scripts/MicrosoftMvcAjax.debug.js"type="text/javascript"></script> 
<script src="../../Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script> 
<script src="../../Scripts/MicrosoftAjax.js" type="text/javascript"></script> 

의 행 그러나 모두를 포함했다 타겟 스팬을 업데이트하는 대신 액션을 호출하고 결과를 새로운 페이지로 렌더링하는 것입니다. 다음은 몇 가지 작은 스크린 샷입니다.

Screenshot 1 http://martindoms.com/scr1.JPG

Screenshot 2 http://martindoms.com/scr2.JPG

어떤 아이디어?

답변

4

잘못된 순서로 마스터 페이지에 포함 된 자바 스크립트가 있습니다. MicrosoftAjax.js가 세 개 중 처음에 포함되도록 다시 정렬하면 제대로 작동합니다.

0

그냥

http://www.asp.net/learn/MVC/tutorial-33-cs.aspx

컨트롤러 액션과 같이 정의 된 클래스에 ... 거기에 몇 가지 아이디어를한다 던지?

public class MyController : Controller 

분명히 클래스 이름은 컨트롤러라는 단어로 끝나야합니다.

+0

기본 HomeController를 사용하고 있으므로 HomeController라고하며 Controller를 확장합니다. –

관련 문제