我正在尝试实施根据@Html.DropDownListFor()
选项更改的注册表单。例如,下拉列表包含多个选项,例如:
如果我选择管理员,注册页面将显示管理员注册表格,选择学生将有视图显示学生注册表格。按下“提交”按钮,所选注册表单中的数据将发布到控制器中的POST方法。
我该如何实现?我真的需要使用JavaScript吗?
更新
我已按照以下代码完成了该视图并使用了@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">×</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
,与上面的代码段相同,使用dialog form
中包含的div
。
这意味着在一个Html.BeginForm()
中,我有很多提交 button
。
如何在点击提交按钮时选择要提交的表单,还可以选择POST
进行验证?
任何方法都会非常感激。谢谢!
答案 0 :(得分:0)
我认为你最好的选择是研究jQuery。它可以让你编写像
这样的代码$("#drop").change(function () {
// operations to update form.
});
如果您希望根据用户输入填充任何动态生成的控件,您可能需要查看jQuery AJAX。
jQuery确实简化了许多需要用vanilla JavaScript完成的工作。