gpt4 book ai didi

asp.net-core-mvc - 在 .netcore 中编辑 Object.cshtml 以与 EditorForModel() 一起使用

转载 作者:行者123 更新时间:2023-12-02 11:19:16 27 4
gpt4 key购买 nike

在 View 中,我使用 @Html.EditorForModel() 来显示模型的表单域,并且我正在尝试更改 Object.cshtml EditorFor 模板。下面的代码在 MVC5 中有效,但使用 .netcore 会返回以下错误消息:

“无法从‘Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata’转换为‘Microsoft.AspNetCore.Mvc.ViewFeatures.ModelExplorer’”

对象.cshtml

@model object

@foreach (var prop in ViewData.ModelExplorer.Properties.Where(pm =>pm.ShowForEdit && !ViewData.TemplateInfo.Visited(pm)))
{
if (prop.HideSurroundingHtml)
{

@Html.Editor(prop.PropertyName)
}
else
{
@*@(prop.IsRequired ? "*" : "")*@

@Html.Editor(prop.PropertyName)

}
}

最佳答案

几周前我遇到了同样的问题。所以我创建了非常小的 Object.cshtml 编辑器模板。

@model Object

@foreach (var prop in ViewData.ModelExplorer.Properties.Where(me => !ViewData.TemplateInfo.Visited(me)))
{
if (prop.Metadata.HideSurroundingHtml)
{
@Html.Editor(prop.Metadata.PropertyName);
}
else
{
<div class="form-group">
@Html.Label(prop.Metadata.PropertyName)
@Html.Editor(prop.Metadata.PropertyName, new { htmlAttributes = new { @class = "form-control" } }) @* hack for passig htmlAttributes retaken from: https://cpratt.co/html-editorfor-and-htmlattributes/ *@
@Html.ValidationMessage(prop.Metadata.PropertyName, new { @class = "text-danger field-validation-valid" })
</div>
}
}

我也在这个 link 上提供了这个文件

关于asp.net-core-mvc - 在 .netcore 中编辑 Object.cshtml 以与 EditorForModel() 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46057038/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com