2011-06-30 64 views
1

我的剃鬚刀網很大,並填充了很多我想要移入外部文件的文本。現在它看起來是這樣的:如何從外部文件插入文本到我的MVC3 Razor視圖中?

@if (Model.RowKey == "ABC") { 
    <div class="mdl"> 
     50+ lines of textual information. Not code. 
    </div> 
} 
@if (Model.RowKey == "DEF") { 
    <div class="mdl"> 
     50+ lines of different textual information. Not code. 
    </div> 
} 

有沒有我可以在外部存儲這段文字,所以我不,我認爲使用太多空間的方法嗎?另外如果我在外部存儲視圖時創建的開銷?每次都需要重新編譯視圖嗎?這是非常重要的,因爲我希望事情能夠快速運行。

+0

而不是試圖掩蓋你的意見噪聲量來檢索文本,爲什麼不你試圖模塊化它們。查看常見的「控件」,例如登錄控件和個人詳細信息控件,並從中創建部分視圖。 它促進重用以及模塊化,你可以更好地測試它們。 –

+0

我正試圖移出所有文本信息。它不是代碼,它是文本的段落。 –

+0

啊,你可以創建一個視圖模型,從數據庫中獲取這些信息。 即 控制器填充ViewModel.SomeText,然後查看然後傳遞此視圖模型,並且該視圖只是使用文本 @ Model.SomeText,因爲視圖是強類型的。 –

回答

0

如果Model在你的代碼視圖的模式,而不是一個枚舉變量(如果你的內容是純靜態的),你可以爲每個類型RowKey的不同視圖嘗試,然後在你的控制器做:

Return View("ABC"); 

然後在你的Views文件夾中,你可以使用ABC.cshtml,DEF.cshtml,XYZ.cshtml等等。所有文本仍然會在視圖中(這裏不是真的有問題),但是你會擺脫所有那些@if()塊。

0

你可以使用一個Text.resx文件存儲文本並使用Resources.Text.ABC在視圖的

相關問題