我需要更新HtmlFieldPrefix,这样我的部分视图就可以构造我的字段w/适当的名称。但是我想不出怎么把它传进去。这就是我尝试过的,从这个链接:MVC4 ViewData.TemplateInfo.HtmlFieldPrefix generates an extra dot
@Html.Partial("_SeatTypePrices",Model.SeatTypePrices,new ViewDataDictionary { TemplateInfo =新TemplateInfo() {HtmlFieldPrefix = nameof(Model.SeatTypePrices) } )
然而,这似乎不起作用。此外,ViewDataDictionary不接受空的构造函数,所以它可能只是一个过时的答案。我在使用asp.net-core-mvc
发布于 2022-01-26 15:49:53
我要加上这个问题,答案已经知道了。这似乎是一个陷阱,因为对这个问题的大多数答案都提出了一些真正行不通的解决方案。我尝试过的解决方案通常是在搜索这个答案时出现的。它不能工作的原因是因为不能将TemplateInfo分配给。
为了解决这个问题,您需要构造一个新的ViewData实例,如
var MyPartialViewData= new ViewDataDictionary(ViewData) { { "AnAdditionalViewDataProperty", propertyValue }{...}... };
然后,在下一个命令中设置HtmlFieldPrefix of您的ViewData.TemplateInfo
MyPartialViewData.TemplateInfo.HtmlFieldPrefix = "MySpecificFieldName";
最后,将构造的视图数据传递到部分调用中
<partial name="PartialViewName" model='PartialModel' view-data=MyPartialViewData/>
https://stackoverflow.com/questions/70866272
复制相似问题