2016-11-19 8 views
3

デフォルトでAjax.BeginFormを作成して、ユーザー追加ページに行きます。私はまた、同じフォームの編集と削除ボタンが必要です。フォームの情報は同じですが、私は別の編集ユーザーに投稿し、ユーザーのURLを削除する必要があります。ASP.NET MVC:ページが読み込まれた後にAjax.BeginFormが投稿される場所を変更するにはどうすればよいですか?

Ajax.BeginFormが私たちに与えるすべての項目を保持しながら、どの送信ボタンが押されたかに応じて、フォームがどこに投稿されるかを変更する方法を教えてください。

編集:

はまた、私はURLは私の経路によって生成されるようにしたいことに注意したいです。したがって、BeingFormは "アクション"と "コントロール"を使用してパスを作成しますが、URLを変更するときにも同様に使用したいので、URLは動的で静的ではありません。

+0

J-QueryまたはJavaScriptを使用すると、フォームのアクションURLを変更できます –

+0

フォームは1つのメソッドにのみポストバックします。しかし、なぜあなたは 'Delete'メソッドのすべての値をポストバックする必要がありますか?ID値を(別の形式で)ポストするだけです。 –

+0

@StephenMueckeフォームは、テキストボックスとチェックボックスで入力されたIDの範囲を受け入れます。テキストボックスはIDであり、追加、編集、および削除に必要なものです。チェックボックスは、それらの州のいくつかで無視することができます。私は同じことのほとんどを扱う3つのフォームで3つのテキストボックスを持つ代わりに、私はそれを扱うことができれば、よりクリーンであると感じます。 – SolidSnake4444

答えて

-1

jqueryを使用して、Url.Actionsを使用してアクションをフォームに変更することで、これを動作させることができました。

HTMLボタン:

<button type="submit" class="btn btn-danger" id="formDeleteButton" onclick="ChangeFormToDelete()">Delete</button> 

のJavaScript/jQueryの

function ChangeFormToDelete() { 
      $('#UserForm').attr('action', '@Url.Action("DeleteUser", "UserManagement")') 
     } 

@においてfirstparameter Url.Action作用であり、第二のコントローラです。私は編集と追加のための全く同じ機能を作り、それは完全に働いた。

+0

良い質問ですが、答えは全く安全ではありません。 – Aristos

+0

@Aristosこれはどのように危険ですか?これを行うためのより良い/よりクリーンな方法がありますか? – SolidSnake4444

+0

私は残念なことにフォーム上にあり、MVC上ではなく、私はMVCで答えが得られていません。なぜ安全でないのですか、あなたがそれを理解していないと主張しないでください。最後にあなたがいたら、それを保ちます。 – Aristos

関連する問題