首页 > 解决方案 > 使单选按钮具有默认的开始位置

问题描述

我的模型中声明了一个“PartActionType”,如下所示

    public enum PartActionType
    {
        Transfer,
        Harvest,
        Dispose
    }

在我的视图页面中,我使用它来显示 3 个选项

 @foreach (var actionType in partActionTypes)
    {
      <td>
         @Html.RadioButtonFor(x => x.Components[i].SelectedActionType, actionType)
      </td>
    }

对于我的示例,如何使其默认为一个选项我希望“转移”单选框成为默认选项。

这是接受戴维斯建议后发生的事情

看法

标签: c#htmlcssasp.net-mvcrazor

解决方案


You default the selected action type when you initialize your view model. Don't ever put many if-else statements in your view.

public ActionResult Index()
{
    var vm = new ItemViewModel
    {
        ItemId = 123,
        ItemName = "Fake Item",
        Components = new List<ItemComponentViewModel>
        {
            new ItemComponentViewModel
            {
                ComponentId = 1,
                ComponentName = "Part 1",
                SelectedActionType = PartActionType.Transfer
            },
            new ItemComponentViewModel
            {
                ComponentId = 2,
                ComponentName = "Part 2",
                SelectedActionType = PartActionType.Transfer
            },
            ...        
        };
    };

    return View(vm);
}

enter image description here


推荐阅读