2010-01-18 43 views
0

如果我有一個強類型的視圖,例如Inherits =「System.Web.Mvc.ViewPage>」%> 我想輸出模型中的項目列表,當我在Visual Studio中使用「添加視圖」時,我得到下面生成的以下html代碼。 有沒有辦法在輸出表格列標題時消除魔術字符串「版本」?Asp.net MVC魔術字符串 - 消除

<table> 
    <tr> 
     <th> 
      Version 
     </th> 
    </tr> 
    <% foreach (var item in Model) { %> 
    <tr> 
     <td> 
      <%= Html.Encode(item.Version) %> 
     </td> 
    <tr/> 
    <% } %> 
</table> 
+1

雖然我沒有看到是什麼讓這個字符串變成了「魔術」,但我相信它可以通過簡單地按退格鍵7次來刪除。 – 2010-01-18 13:56:59

回答

1

你想要什麼呢?

您可以使用資源文件,以便它們被翻譯或其他東西。 或者如果它必須是item.Version變量的名稱,您可以查看一些反射。

+0

我希望你可以使用一些強類型的html helper來防止魔術字符串問題,例如列表中的單個項目<%= Html.TextBoxFor(model => model.Version)%> – Noel 2010-01-18 13:54:48

0

如果你有你的web項目控制器和視圖,只需添加資源文件(的.resx)至App_GlobalResources(或App_LocalResources相對來看,儘管我我不是那個粉絲),然後引用yoru視圖中的資源。

我個人創建了一個包含一堆資源文件(.resx)的「資源」項目。每個resx設置爲public(在設計師的頂部下拉列表)。通過這種方式,可以從Web項目中的視圖或其他項目中的控制器/應用程序服務訪問它們。儘管如此,除非共享副本或翻譯是您主要關心的問題,否則可以將視圖中的副本保留爲「魔術字符串」。