小编huo*_*345的帖子

如何在asp.net 5中为"asp-for"传递字符串值

我想为具有许多属性的实体编写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)

c# asp.net asp.net-mvc razor tag-helpers

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

asp.net ×1

asp.net-mvc ×1

c# ×1

razor ×1

tag-helpers ×1