根据下拉列表选择更改ASP.NET MVC注册表格

问题描述:

我试图实现一个根据@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

我认为你最好的选择是研究jQuery。它会让如果你想要的任何动态生成的控件来填充,根据您的用户输入,你可能想寻找到jQuery的AJAX您写这样

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

代码。

jQuery的确简化了许多需要用vanilla JavaScript完成的工作。