我想为具有许多属性的实体编写Edit.cshtml文件,因此我必须多次编写以下代码:
<div class="form-group">
<label asp-for="Email" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="Email" class="form-control" />
<span asp-validation-for="Email" class="text-danger"></span>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
实际上,有很多实体,所以我必须编写许多Edit.cshtml文件.我想做一些简化
我想在控制器中选择实体的一些属性,并使用循环来显示视图中的属性.例如:在控制器文件中:
public IActionResult Edit(string id)
{
var model = GetModel(id);
var propertyNames= new List<string>()
{
"Name",
"Email"
// add some other property names of the entity
};
ViewData["PropertyList"] = propertyNames;
return View(model);
}
Run Code Online (Sandbox Code Playgroud)
在视图文件中:
@{
var propertyNames = (List<string>)ViewData["PropertyList"];
foreach (string item in propertyNames)
{
<div class="form-group">
<label asp-for="@(item)" class="col-md-2 control-label"></label>
<div class="col-md-3">
<input asp-for="@(item)" class="form-control" />
<span asp-validation-for="@(item)" class="text-danger"></span>
</div> …Run Code Online (Sandbox Code Playgroud)