Asp.net mvc ntext属性的ASP.NET MVC textarea标记帮助程序不工作

Asp.net mvc ntext属性的ASP.NET MVC textarea标记帮助程序不工作,asp.net-mvc,visual-studio-2015,tag-helpers,Asp.net Mvc,Visual Studio 2015,Tag Helpers,我有一个以下模型属性,其中一个是projectDescription,它在SQL Server中生成一个ntext列 型号: --some other properties here.... [Display(Name = "Project Title")] [Column(TypeName = "varchar(125)")] public string ProjectTitle { get; set; } [Column(TypeName = "ntext

我有一个以下模型属性,其中一个是projectDescription,它在SQL Server中生成一个
ntext

型号

--some other properties here....

[Display(Name = "Project Title")]
        [Column(TypeName = "varchar(125)")]
        public string ProjectTitle { get; set; }

[Column(TypeName = "ntext")]
public string ProjectDesctiption { get; set; }

--some other properties here....
---some html here.....
<div class="form-group">
        <label asp-for="ProjectTitle" class="col-md-2 control-label"></label>
        <div class="col-md-10">
            <input asp-for="ProjectTitle" class="form-control" />
            <span asp-validation-for="ProjectTitle" class="text-danger"></span>
        </div>
    </div>
    <div class="form-group">
        <label asp-for="ProjectDesctiption" class="col-md-2 control-label"></label>
        <div class="col-md-10">
            <textarea asp-for="ProjectDesctiption" class="form-control" rows="6" cols="15" />
            <span asp-validation-for="ProjectDesctiption" class="text-danger"></span>
        </div>
    </div>
...some other html here...
此属性绑定到
视图中的
textarea
标记,如下所示。但它没有显示数据库中
ProjectDesctiption
列中的真实数据,而是奇怪地显示了视图页面的整个html源页面,如下图所示。其他标记正确显示数据,如下图中ProjectTitle字段所示。我认为这个问题与ntext数据类型和。我确实在数据库中检查过ProjectDescription中某些数据单元的最大长度相当大——大约61968个字符。但我们确实希望以合理的textarea长度和宽度以及水平和垂直滚动条显示此列中的数据,以便用户至少可以浏览此字段的数据,了解项目描述是什么(例如),或者出于某种目的可以从textarea复制/复制数据问题:我如何实现这个目标

查看

--some other properties here....

[Display(Name = "Project Title")]
        [Column(TypeName = "varchar(125)")]
        public string ProjectTitle { get; set; }

[Column(TypeName = "ntext")]
public string ProjectDesctiption { get; set; }

--some other properties here....
---some html here.....
<div class="form-group">
        <label asp-for="ProjectTitle" class="col-md-2 control-label"></label>
        <div class="col-md-10">
            <input asp-for="ProjectTitle" class="form-control" />
            <span asp-validation-for="ProjectTitle" class="text-danger"></span>
        </div>
    </div>
    <div class="form-group">
        <label asp-for="ProjectDesctiption" class="col-md-2 control-label"></label>
        <div class="col-md-10">
            <textarea asp-for="ProjectDesctiption" class="form-control" rows="6" cols="15" />
            <span asp-validation-for="ProjectDesctiption" class="text-danger"></span>
        </div>
    </div>
...some other html here...
——这里有一些html。。。。。
…这里还有其他html。。。
A
不是一个自动关闭标签,因为您没有“关闭”它,所以它会显示标签后面的html

将代码更改为

<textarea asp-for="ProjectDesctiption" class="form-control" rows="6" cols="15"></textarea>


侧注-来自重要信息!在SQL Server的未来版本中,将删除ntext、text和image数据类型。避免使用这些数据types@StephenMuecke说得好。我应该把它改为nvarchar(max)或者更好的-varchar(max),除非有令人信服的理由使用nvarchar。所讨论的数据库实际上是从Ms Access数据库转换而来的,我假设转换它的人可能使用了Microsoft的迁移工具,该工具在SQL Server中将Access的文本列自动转换为ntext。但是,在我们的案例中,我将检查NVARCHAR是否需要,或者VARCHAR(MAX)已经足够了。您可能还需要考虑将它重命名为<代码>项目描述< /代码>:)您的建议有效(谢谢您,并且捕获拼写错误)。