考虑以下部分视图Common.cshtml ...
<input id="CommonControl" />
我想用...来渲染它。
@Html.Partial("Common", "PersonNamespace")
@Html.Partial("Common", "CarNamespace")
,最终输出为......
<input id="PersonNamespaceCommonControl" />
<input id="CarNamespaceCommonControl" />
如何使用模型定义上述部分来实现此目的?
例如......
<input id="@modelCommonControl" />
不会工作。什么是正确的Razor语法?
答案 0 :(得分:4)
请注意@Html.PartialView()
只接受2种类型,例如model
和ViewDataDictionary
作为第二个arg,而不是string
!因此,您需要根据需要实现部分视图。您可以为此示例定义部分视图的ViewModel:
视图模型:
public class Partial{
public string name {get; set;}
//other fields
}
部分:
@model project.ViewModels.Partial
<input id="@string.Concat(Model.name,"CommonControl")" />
考虑避免在一个页面中出现模型冲突。