2012-01-29 11 views
4

MVC 3アプリケーションでは、ユーザーが配送先住所を入力して注文することができるビューがあります。ビューに表示されるフォームフィールドは、ユーザープロファイルフィールドとまったく同じです。だから私は彼らが彼らのプロフィールにも入力したデータを保存するためのユーザーのためのリンクを検討したい。名前、姓、住所などのフィールド。 Ajax.ActionLinkを使用したいのですが、フォームフィールドをデータを保存するアクションに送信する方法がわかりません。私が持っていることは次のとおりです。Ajax.ActionLinkを使用したフォームフィールドの投稿

@Ajax.ActionLink("Save into profile", "SaveAccountProfile", new{ address=????}, new AjaxOptions { HttpMethod = "POST", InsertionMode = InsertionMode.Replace, OnSuccess = "alert('Account profile was successfully updated.')" })

私は、経路データとしてポストだろうか?

答えて

7

この場合、Ajax.BeginFormを使用してください。この方法でフォームのフィールド値が自動的にサーバーに送信されます。

@using (Ajax.BeginForm("SaveAccountProfile", new AjaxOptions { HttpMethod = "POST", InsertionMode = InsertionMode.Replace, OnSuccess = "alert('Account profile was successfully updated.')" })) 
{ 
    ... some input fields 
    <input type="submit" value="Save into profile" /> 
} 
+0

問題は、フォームがユーザーが注文することを意味します。フォームを提出するボタンがすでにあります。私が言ったように、私は同じフィールド(テキストボックス)を投稿してアカウントプロファイルとして保存するリンクまたはボタンを検討するつもりです。 – user1137993

+1

@ user1137993この場合、標準のHtml.ActionLinkを使用することをお勧めします。これは、jQueryを使用して目立たないAJAXifyです。サーバーに送信されるパラメーターをより詳細に制御できます。 $ .ajax metodを使用すると、任意のデータをデータサーバーに渡すことができます。 –

+0

ありがとうダーリン。これが唯一の方法だと思われます。 – user1137993

関連する問題