2010-03-09 34 views
4

我習慣在常規的ASP.Net web項目中使用Repeater控件。我看到ASP.Net MVC沒有這樣的事情。我應該在這裏使用什麼?在ASP.Net中尋找中繼器類型功能MVC

編輯:

在回答這個問題,我在嘗試這樣做,我不能在foreach實現。我想我正在嘗試獲得交替的排樣式。此外,在視圖中添加標記之外的東西只是感覺有點不妥。但是,也許我會在與之合作時克服這一點。感謝您的答案。

回答

8

最簡單的方法是使用foreach循環。
你想做什麼?

編輯

<% bool odd = false; 
    foreach(var row in something) { %> 
    <tr class="<%= odd ? "OddRow" : "EvenRow" %>"> 
     ... 
    </tr> 
<% odd = !odd; } %> 
+0

+1我的想法正好。沒有像我們在非MVC中那樣的控件。 – 2010-03-09 17:55:20

+0

我想念最多的替代項目模板。 – uriDium 2010-03-09 17:56:41

+0

您可以翻轉一個布爾值並使用內聯的三元運算符,這實際上比重複整個模板要容易得多。 – SLaks 2010-03-09 17:58:14

1

爲了增加SLaks響應。

您可以將您的html封裝到部分視圖中。

致電<%= Html.Partial("ViewName", optional_ViewModel) %>

這可能更接近中繼控制。部分視圖的類似於您的項目模板。

這種方法也可以很好地重用代碼。

1

如果你錯過了很多WebForms的功能,也許你只需要一個更豐富的視圖引擎?我可以建議Spark View Engine?就像WebForms一樣,它包含了很多功能,所以你不必一直重寫相同的東西和/或寫一大堆你自己的幫手。

+1

Spark ViewEngine非常強大,我絕對喜歡它比使用WebForms ViewEngine時通常生成的標籤湯更好... – 2010-03-09 18:12:23

0

交替行的樣式可以通過CSS樣式來實現...
順便說一句 - 每一個從網頁表格的funcionality可以在MVC實現......到底都是HTML,JS和CSS

0

你甚至可以爲此創建一個HTML助手。