相关疑难解决方法(0)

将TagHelpers嵌套在ASP.NET Core MVC中

ASP.NET Core TagHelper文档提供了以下示例:

public class WebsiteContext
{
    public Version Version { get; set; }
    public int CopyrightYear { get; set; }
    public bool Approved { get; set; }
    public int TagsToShow { get; set; }
}

[TargetElement("website-information")]
public class WebsiteInformationTagHelper : TagHelper
{
    public WebsiteContext Info { get; set; }

    public override void Process(TagHelperContext context, TagHelperOutput output)
    {
        output.TagName = "section";
        output.Content.SetContent(
            $@"<ul><li><strong>Version:</strong> {Info.Version}</li>
            <li><strong>Copyright Year:</strong> {Info.CopyrightYear}</li>
            <li><strong>Approved:</strong> {Info.Approved}</li>
            <li><strong>Number of tags to show:</strong> {Info.TagsToShow}</li></ul>");
        output.TagMode = TagMode.StartTagAndEndTag;
    } …
Run Code Online (Sandbox Code Playgroud)

asp.net razor asp.net-core-mvc tag-helpers asp.net-core

9
推荐指数
2
解决办法
5821
查看次数

如何在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万
查看次数