asp.net标签助手无法正常工作

use*_*259 5 c# tags helper asp.net-core-mvc asp.net-core

Asp.net标记助手在我的项目中没有用.

我将此代码添加到 project.json

"Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-final",
"Microsoft.AspNet.Tooling.Razor": "1.0.0-rc1-final",
Run Code Online (Sandbox Code Playgroud)

_ViewImports.cshtml我添加

@using Homebank
@addTagHelper "*, Microsoft.AspNet.Mvc.TagHelpers"
Run Code Online (Sandbox Code Playgroud)

在视图中我使用asp.net标签助手 - 页面不返回数据;

@model Homebank.Models.Admins

@{
    ViewData["Title"] = "Create";
}
 <input asp-for="Email" class="form-control" />
Run Code Online (Sandbox Code Playgroud)

不是错误,不是例外.白页 在此输入图像描述

Sha*_*tin 3

确保您的班级拥有该属性

您的标签助手正在尝试访问Homebank.Models.Admins.Email. 确保该类有一个Email属性。

namespace Homebank.Models
{
    public class Admins
    {
        public string Email { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

我认为这是最有可能的修复方法,因为当您删除Email标签助手时,您的代码可以工作。不过,这里还有一些其他想法。

添加详细错误页面

我们可以收到详细的错误页面,而不是白屏。将以下代码行添加到该Configure方法中。

public void Configure(IApplicationBuilder app)
{
    // other code omitted for clarity
    app.UseDeveloperExceptionPage();
    app.UseMvc();
}
Run Code Online (Sandbox Code Playgroud)

这将提供更多调试信息。例如

资源编译期间发生错误...

恢复您的包

您可能需要恢复该Microsoft.AspNet.Mvc.TagHelpers包。以下是从命令行执行的方法:

dnu restore
dnu build
dnx web
Run Code Online (Sandbox Code Playgroud)

这是一个不太可能的修复,因为Email即使您在_ViewImports.cshtml页面中使用标签助手,您的代码也会在您注释掉标签助手时运行。