ASP.NET Core - TagHelper,部分视图和属性名称冲突

时间:2017-10-05 10:27:20

标签: asp.net asp.net-mvc asp.net-core-mvc asp.net-core-tag-helpers

在ASP.NET Core MVC项目中,假设我有两个部分视图_viewA_viewB以及两个关联模型ModelAModelB。 BR />

并说ModelAModelB都有一个名为MyProperty的属性。 然后在_viewA_viewB中使用asp-for="MyProperty"

我的问题是我的页面最终有两个具有相同ID的html元素 我怎么能避免这种情况?

请注意,我不想重命名MyProperty,因为我的模型不应该关心UI限制。

1 个答案:

答案 0 :(得分:2)

转到@stephen-muecke以及此post我已用public static IHtmlContent PartialFor(this IHtmlHelper helper, string partialViewName, string prefix) { var viewData = new ViewDataDictionary(helper.ViewData); var htmlPrefix = viewData.TemplateInfo.HtmlFieldPrefix; viewData.TemplateInfo.HtmlFieldPrefix += !Equals(htmlPrefix, string.Empty) ? $".{prefix}" : prefix; return helper.Partial(partialViewName, viewData); } 解决了问题。这是一个与.Net Core一起使用的扩展方法,可以在{{1}}中使用。然后,局部视图中的所有ID和名称都带有前缀(即使不使用{{1}})。

{{1}}