次の設定で何が問題なのかよくわかりません。私はいくつかのレコードをリストしたViewを持っており、それぞれにレコードの値を変更するためのドロップダウンがあります。私はAJAXなしですべての作業をしていましたが、ドロップダウンの束を変更してSubmitボタンをクリックしなければなりませんでした。私はドロップダウンの選択肢をすぐに保存できるように変更したかったのです。ASP.NET MVC AJAXが簡単な呼び出しで新しいページを返します
マイ(MyTableというのタイプのIEnumerable()の)閲覧ストリップダウン:
<script src="../../Scripts/MicrosoftAjax.debug.js" type="text/javascript"></script>
<script src="../../Scripts/MicrosoftMvcAjax.debug.js" type="text/javascript"></script>
<% For Each item In Model%>
<% Using Ajax.BeginForm("Update", New AjaxOptions With {.UpdateTargetId = "test"})%>
<%=Html.Hidden("id", item.id)%>
<%=item.name%>:
<%=Html.DropDownList("ActionCode", New SelectList(ViewData("actions"), "Value", "Text", item.ActionCode), New With {.onchange = "this.form.submit();"})%>
<span id="test"></span>
<br/>
<% End Using%>
<% Next%>
を私の更新コントローラ:
<AcceptVerbs(HttpVerbs.Post)> _
Function Update(ByVal id As Integer, ByVal ActionCode As String) As ActionResult
'Update would happen here
Return Content(id & ": " & ActionCode)
End Function
ドロップダウンの変更がトリガするために何が起こるしたいことはありますコントローラを更新しますが、おそらく何も返されません。データベースを更新してユーザーを移動させてください。空白のページにコンテンツの値が表示されている(つまり、「123:ABC」)。それは正しいid/codeの組み合わせなので、アップデートが正しく発射されているように見えます。単にhtmlを消去するだけです。
明らかに私はAJAXが正しく動作するように正しく戻っていませんが、このパターンは私が見つけることができる例と一致するようですので、どこが間違っているのか分かりません。どんな助けでも大歓迎です。
いいえ、ネストされたフォームタグはありません。私はFirebugのことを試してみるつもりです。ありがとう。 – gfrizzle