どのように私はAjaxフォームの提出はASP.net MVCで動作するように入手できますか?

StackOverflow https://stackoverflow.com/questions/762845

質問

私はAJAXとJavaScriptの世界に非常に新しいだと私はスコットを実装しようとしていますフォーム送信のHanselman氏のの例では、ページの一部を更新します。私はほとんど逐語を彼の例をコピーしたと私はそれが仕事を得るように見えることはできません。私は、送信ボタンをクリックすると、コントローラのアクションが正常に呼び出されたが、結果ではなく、私は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> 

しかし、あるようですすべてのアクションを呼び出して、新しいページとして結果をレンダリングし、代わりにターゲットスパンを更新するのです。ここで何が起こっているかを説明するためにいくつかの小さなスクリーンショットがあります。

スクリーン1 http://martindoms.com/scr1.JPG

スクリーンショット2 http://martindoms.com/scr2.JPG

任意のアイデア?

役に立ちましたか?

解決

あなたはjavascriptが間違った順序であなたのマスターページに含まれています。 MicrosoftAjax.jsは、最初の3の含まれており、それが動作するように並べ替えます。

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

他のヒント

ただ、そこにいくつかのアイデアを投げ...

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

あなたのコントローラのアクションは、以下の様に定義されたクラスにいるのですか?

public class MyController : Controller

どうやらクラスの名前は、ワードコントローラで終わる必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top