Jas*_*ano 2 asp.net asp.net-mvc razor asp.net-mvc-5 asp.net-mvc-5.1
在Html.EnumDropDownListForMVC 5.1中使用新的扩展方法时,我遇到的问题是,根据我传递给控制器操作的路由属性,下拉列表中的所选值没有更新.
视图
@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>
Run Code Online (Sandbox Code Playgroud)
控制器动作
[Route("environments/{environment?}")]
public ActionResult Environments(string environment)
{
Domain.Environment env;
Enum.TryParse(environment, true, out env);
return View(new EnvironmentsModel{Environment = env});
}
Run Code Online (Sandbox Code Playgroud)
如果我导航到没有可选属性的路由,并且我Model.Environment在控制器操作中将属性设置为静态值,则该选定值显示没有问题.
如果我传入一个有效的路由属性值,将其分配给Model.Environment属性,则在呈现时下拉列表不会更新为属性值 - 即使我已确认该属性的值不是默认的枚举值.
小智 6
我今天也遇到了这个问题.将routes参数重命名为与models属性不同的名称.
控制器动作
[Route("environments/{envparm?}")]
public ActionResult Environments(string envparam)
{
Domain.Environment env;
Enum.TryParse(envparam, true, out env);
return View(new EnvironmentsModel{Environment = env});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2571 次 |
| 最近记录: |