如果我有强类型视图,例如继承= “System.Web.Mvc.ViewPage>” 中%GT; 我想输出模型中的项目列表,当我在visual studio中使用“添加视图”时,我得到下面生成的以下html代码。 无论如何在输出表格列标题时消除Magic字符串“Version”?
<table>
<tr>
<th>
Version
</th>
</tr>
<% foreach (var item in Model) { %>
<tr>
<td>
<%= Html.Encode(item.Version) %>
</td>
<tr/>
<% } %>
</table>
答案 0 :(得分:1)
您希望拥有什么?
您可以使用资源文件,以便它们被翻译或者其他东西。 或者,如果它必须是item.Version变量的名称,您可以查看一些反射。
答案 1 :(得分:0)
我认为你必须使用反射。这个问题看起来会对你有所帮助:
How do you get a C# property name as a string with reflection?
答案 2 :(得分:0)
如果您在Web项目中拥有控制器和视图,只需将资源文件(.resx)添加到相对于视图的App_GlobalResources
(或App_LocalResources
,尽管我不是它的粉丝)然后从yoru视图中引用资源。
我个人创建了一个“资源”项目,其中包含一堆资源文件(.resx)。每个resx都设置为public
(设计器顶部的下拉列表)。这样,可以从Web项目中的Views或我的其他项目中的控制器/应用程序服务访问它们。
话虽如此,除非共享副本或翻译是您的主要关注点,否则可以将副本作为“魔术字符串”保留在视图中。