gpt4 book ai didi

asp.net - Html.EnumDropDownListFor 不显示所选属性值

转载 作者:行者123 更新时间:2023-12-01 16:24:03 24 4
gpt4 key购买 nike

在 MVC 5.1 中使用新的 Html.EnumDropDownListFor 扩展方法时,我遇到了一个问题,即所选值没有根据我所设置的路由属性在下拉列表中更新传递给我的 Controller 操作。

查看

@model MemberReconWebDemo.Models.EnvironmentsModel
@{
ViewBag.Title = "Environments";
}

<h2>Environments</h2>
<div class="row">
<div class="col-md-12">
@Html.EnumDropDownListFor(p => p.Environment)
@Model.Environment.ToString()
</div>
</div>

Controller 操作

[Route("environments/{environment?}")]
public ActionResult Environments(string environment)
{
Domain.Environment env;
Enum.TryParse(environment, true, out env);

return View(new EnvironmentsModel{Environment = env});
}

如果我导航到没有可选属性的路线,并且在 Controller 操作中将 Model.Environment 属性设置为静态值,则所选值的显示不会出现问题。

如果我传入有效的路由属性值,并将其分配给 Model.Environment 属性,则下拉列表不会在渲染时更新为属性值 - 即使我已经确认该属性确实具有默认枚举值以外的值。

最佳答案

我今天也遇到这个问题了。将routes参数重命名为与models属性不同的名称对我有用。

Controller 操作

[Route("environments/{envparm?}")]
public ActionResult Environments(string envparam)
{
Domain.Environment env;
Enum.TryParse(envparam, true, out env);

return View(new EnvironmentsModel{Environment = env});
}

关于asp.net - Html.EnumDropDownListFor 不显示所选属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22912930/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com