c# – 使用RadioButtonList和其他自由格式选择的ASP.Net MVC视图

我正在整理一个问题,以便注册一个活动.

其中一个注册问题是:

What is your main job function?
    Director/MD/Owner
    Manager
    Team Leader
    Other: Please state

我希望这在我的视图中显示为下拉框或单选按钮列表,但也可以在“其他”单选按钮下方或旁边显示文本框,以便可以输入自由形式的“其他”作业功能.我如何在我的视图中绑定它?

我怀疑我的模型将包含:

    [Display(Name = "What is your main job function?")]
    public string JobFunction { get; set; }

…其中JobFunction由上面的选定项填充.但是如果在我的控制器中,我是否会覆盖所选项目,如果它是“其他”并将其替换为视图上的文本框?

我确信之前已经做了很多次 – 所以谢谢你的帮助,

标记

最佳答案 很多人的一种方法是:

视图:

  <div id="sample-dropdown">
    <select name="JobFunction " id="JobFunction" class="dropdown">
        <option value="Director/MD/Owner">Director/MD/Owner</option>
        <option value="Manager">Manager</option>
        <option value="Team Leader" selected="selected">Team Leader</option>
        <option value="Other">Other: Please state</option>   
    </select>
    <input name="JobFunctionOther" id="JobFunctionOther" />
</div>

<script type="text/javascript">
    $('input[name="JobFunctionOther"]').hide();
        $(function() {
                $("#JobFunction").change(
                    function() {
                        var val = $(this).val();
                        if (val =='Other') {
                            $('input[name="JobFunctionOther"]').show();

                        } else {
                            $('input[name="JobFunctionOther"]').hide();
                        }

                    }).change();
            });
</script> 

控制器:

public ActionResult DropDown(string jobFunction, string jobFunctionOther)
{
    if (!string.IsNullOrEmpty(jobFunctionOther)) jobFunction = jobFunctionOther;
    //do what you do
    return View(jobFunction);
}
点赞