Asp.net MVC Magic字符串 - 消除

时间:2010-01-18 13:43:24

标签: asp.net asp.net-mvc

如果我有强类型视图,例如继承= “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>

3 个答案:

答案 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或我的其他项目中的控制器/应用程序服务访问它们。

话虽如此,除非共享副本或翻译是您的主要关注点,否则可以将副本作为“魔术字符串”保留在视图中。