2016-12-05 18 views
0

@Html.DropDownListFor()の選択に従って変更される登録フォームを実装しようとしています。たとえば、ドロップダウンリストのようないくつかの選択肢から構成されていますドロップダウンリストの選択によるASP.NET MVC登録フォームの変更

  • 管理
  • 学生

私は管理者を選択した場合は、登録ページには、管理者の登録フォームが表示され、学生を選択すると、ビューを持っています学生登録フォームを表示します。 [送信]ボタンを押すと、選択した登録フォームのデータがコントローラのPOSTメソッドに送信されます。

どうすれば実装できますか? JavaScriptを使用する必要がありますか?

UPDATE:

私は次のコードのような表示を行い、上記コードスニペットによってとも同じ@Html.BeginForm() & @Html.AntiForgeryToken()

 @using (Html.BeginForm("Register", "Account", FormMethod.Post, new { @class = "form-horizontal", role = "form" })) 
    { 
     @Html.AntiForgeryToken() 

    <div class="container" style="width:40%; margin-top:3%"> 
    -- the button -- 
    <a href="#" class="btn btn-primary" data-toggle="modal" data-target="#AdminModal">Register Admin Account</a> 

    <div class="modal fade" id="AdminModal" style="width:auto"> 
     <div class="modal-dialog"> 
      <div class="modal-content"> 
       <div class="modal-header"> 
        <a href="#" class="close" data-dismiss="modal">&times;</a> 
        <h3 class="modal-title" >Admin Modal</h3> 
       </div> 
       <div class="modal-body"> 
        <form id="AdminForm"> 
    -- with other textfields --- 
    -- And DropDownList for selecting User role -- 

        </form> 
       </div> 

       <div class="modal-footer"> 
        <a href="#" class="btn btn-default" data-dismiss="modal">Cancel</a> 
        <input type="reset" value="Submit" class="btn btn-success" id="btnSubmit" /> 
       </div> 
      </div> 
     </div> 
    </div> 
</div> 
    } 

そして第二divを、使用しましたdivにはdialog formが含まれています。 1つの意味ではHtml.BeginForm()、私は多くのを提出しますbuttonを提出します。

ボタンを送信してPOSTと入力しても、送信するフォームを選択する方法はありますか?

いずれのアプローチも大いに評価されます。ありがとう!

+2

はい、何らかの形でJSに関係します。ブラウザをリフレッシュせずにフロントエンドの変更を行う場合は、JSを使用します。 – mmcrae

答えて

0

私はあなたの最善の策は、jQueryを調べることだと思います。それはあなたが動的に生成されたコントロールのいずれかは、ユーザーの入力に基づいて、移入する、あなたはjQueryのAJAXに見たいと思うかもしれませんしたい場合は、

$("#drop").change(function() { 
    // operations to update form. 
}); 

のようなコードを書くようになります。

jQueryは、バニラJavaScriptを使用して行う必要があった多くの作業を簡素化します。

関連する問題