mvc razor将模型属性组合成字符串

时间:2014-03-21 20:11:27

标签: asp.net-mvc razor

考虑以下部分视图Common.cshtml ...

<input id="CommonControl" />

我想用...来渲染它。

@Html.Partial("Common", "PersonNamespace")
@Html.Partial("Common", "CarNamespace")

,最终输出为......

<input id="PersonNamespaceCommonControl" />
<input id="CarNamespaceCommonControl" />

如何使用模型定义上述部分来实现此目的?

例如......

<input id="@modelCommonControl" />

不会工作。什么是正确的Razor语法?

1 个答案:

答案 0 :(得分:4)

请注意@Html.PartialView()只接受2种类型,例如modelViewDataDictionary作为第二个arg,而不是string!因此,您需要根据需要实现部分视图。您可以为此示例定义部分视图的ViewModel: 视图模型:

public class Partial{
    public string name {get; set;}
    //other fields
}

部分:

@model project.ViewModels.Partial
<input id="@string.Concat(Model.name,"CommonControl")" />

考虑避免在一个页面中出现模型冲突。