2016-12-05 136 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。 這意味着在一個Html.BeginForm(),我有很多提交button

如何在選擇要提交的表格時提交提交按鈕和POST它還有驗證嗎?

任何方法將非常感激。謝謝 !

+2

是以某種方式,這將涉及JS。任何時候,如果您希望前端更改在瀏覽器不刷新的情況下發生,您將使用JS。 – mmcrae

回答

0

我認爲你最好的選擇是研究jQuery。它會讓如果你想要的任何動態生成的控件來填充,根據您的用戶輸入,你可能想尋找到jQuery的AJAX您寫這樣

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

代碼。

jQuery的確簡化了許多需要用vanilla JavaScript完成的工作。

相關問題