我習慣在常規的ASP.Net web項目中使用Repeater控件。我看到ASP.Net MVC沒有這樣的事情。我應該在這裏使用什麼?在ASP.Net中尋找中繼器類型功能MVC
編輯:
在回答這個問題,我在嘗試這樣做,我不能在foreach實現。我想我正在嘗試獲得交替的排樣式。此外,在視圖中添加標記之外的東西只是感覺有點不妥。但是,也許我會在與之合作時克服這一點。感謝您的答案。
我習慣在常規的ASP.Net web項目中使用Repeater控件。我看到ASP.Net MVC沒有這樣的事情。我應該在這裏使用什麼?在ASP.Net中尋找中繼器類型功能MVC
編輯:
在回答這個問題,我在嘗試這樣做,我不能在foreach實現。我想我正在嘗試獲得交替的排樣式。此外,在視圖中添加標記之外的東西只是感覺有點不妥。但是,也許我會在與之合作時克服這一點。感謝您的答案。
最簡單的方法是使用foreach
循環。
你想做什麼?
編輯:
<% bool odd = false;
foreach(var row in something) { %>
<tr class="<%= odd ? "OddRow" : "EvenRow" %>">
...
</tr>
<% odd = !odd; } %>
爲了增加SLaks響應。
您可以將您的html封裝到部分視圖中。
致電<%= Html.Partial("ViewName", optional_ViewModel) %>
。
這可能更接近中繼控制。部分視圖的類似於您的項目模板。
這種方法也可以很好地重用代碼。
如果你錯過了很多WebForms的功能,也許你只需要一個更豐富的視圖引擎?我可以建議Spark View Engine?就像WebForms一樣,它包含了很多功能,所以你不必一直重寫相同的東西和/或寫一大堆你自己的幫手。
Spark ViewEngine非常強大,我絕對喜歡它比使用WebForms ViewEngine時通常生成的標籤湯更好... – 2010-03-09 18:12:23
交替行的樣式可以通過CSS樣式來實現...
順便說一句 - 每一個從網頁表格的funcionality可以在MVC實現......到底都是HTML,JS和CSS
你甚至可以爲此創建一個HTML助手。
+1我的想法正好。沒有像我們在非MVC中那樣的控件。 – 2010-03-09 17:55:20
我想念最多的替代項目模板。 – uriDium 2010-03-09 17:56:41
您可以翻轉一個布爾值並使用內聯的三元運算符,這實際上比重複整個模板要容易得多。 – SLaks 2010-03-09 17:58:14