【发布时间】:2019-10-22 15:12:40
【问题描述】:
我正在将一个 Web 应用程序迁移到 .NET Core,它使用一些 Razor 编辑器模板来处理特定的输入类型(例如,为任何 DateTime 模型属性输出一个 date 输入)。
一些模板使用以下方法获取 ID 属性值,以便在 HTML 中的其他地方使用:
ViewData.TemplateInfo.GetFullHtmlFieldId("PropertyName")
但是,这种方法在 ASP.NET Core 中似乎不再存在。
GetFullHtmlFieldName 方法仍然存在,因此可以通过以下方式获得相同的结果(至少对于我测试过的所有内容):
Regex.Replace(ViewData.TemplateInfo.GetFullHtmlFieldName("PropertyName"), @"[\.\[\]]", "_")
但这对我来说似乎有点不整洁,更不用说旧方法可能处理我不知道的边缘情况。
半小时的谷歌搜索、阅读 .NET Core docs 和搜索 SO 并没有发现任何有用的信息。我能找到的唯一与远程相关的是this answer(它只是确认该方法已消失)。
有人知道为什么GetFullHtmlFieldId 不再存在吗?这只是一个意外遗漏,还是现在有更新、更好的方法?
【问题讨论】:
标签: c# asp.net-mvc asp.net-core razor .net-core