.net 将纯文本附加到变量值

.net 将纯文本附加到变量值,.net,razor,.net,Razor,我正在尝试使用razor模板引擎生成相当简单的xml。 这是我的模板: 我想将“网格”附加到Id属性值。 它与代码块一起工作: @{ 变量名称=Model.MasterType.name+“Grid”; } 但是我想使用razor语法,而不定义变量。这可能吗?您需要使用括号将Razor表达式与文字源分开: <gridDef Id="@(Model.MasterType.Name)Grid" /> 或者,可以在表达式中连接字符串: <gridDef Id="@(Mod

我正在尝试使用razor模板引擎生成相当简单的xml。 这是我的模板:


我想将“网格”附加到Id属性值。 它与代码块一起工作:

@{
变量名称=Model.MasterType.name+“Grid”;
}

但是我想使用razor语法,而不定义变量。这可能吗?

您需要使用括号将Razor表达式与文字源分开:

<gridDef Id="@(Model.MasterType.Name)Grid" />

或者,可以在表达式中连接字符串:

<gridDef Id="@(Model.MasterType.Name + "Grid")" />


hm,因此您必须生成一个xml文件。为什么不直接从控制器中以XML的形式返回它呢?您还可以设置内容类型并设置到它的路由,就像它是服务器上的真实文件一样。我正在控制台应用程序中使用它来生成XML文件。@Filip:您应该改为使用LINQ to XML。@Slaks您能解释一下吗。我需要根据域对象元数据和选择的模板生成相当复杂的xml文件。您是否建议我使用LINQ to XML而不是使用模板引擎在代码中实现它?@Filip:是的<代码>新XElement(名称、新XAttribute(…)、新XElement(…)、LINQ查询等)