我是MVC3新手 - 我正在使用WebGrid在網站上顯示我正在進行的拍賣的一些列。這將顯示一個顯示最新出價的網格。除了管理員登錄以外,他們只能看到出價金額和日期/時間。當管理員登錄時,他們應該看到所有列(名稱和聯繫信息)。我想我可能不得不在某種程度上以代碼的形式對此進行按摩,但我想知道是否有辦法在Razor標記中處理它?這裏是我現在有:如何隱藏WebGrid中的列?
@{ var grid = new WebGrid(Model.Bids.OrderByDescending(b => b.BidAmount)); }
@grid.GetHtml(
tableStyle: "grid",
headerStyle: "head",
alternatingRowStyle: "alt",
columns: grid.Columns(
grid.Column("BidAmount", format: @<text>[email protected]</text>),
grid.Column("BidDateTime"),
grid.Column("FirstName"),
grid.Column("LastName"),
grid.Column("Email"),
grid.Column("PhoneNumber")
)
)
所以我想做的事,在僞代碼,是這樣的:
@{ var grid = new WebGrid(Model.Bids.OrderByDescending(b => b.BidAmount)); }
@grid.GetHtml(
tableStyle: "grid",
headerStyle: "head",
alternatingRowStyle: "alt",
columns: grid.Columns(
grid.Column("BidAmount", format: @<text>[email protected]</text>),
grid.Column("BidDateTime"),
@if(userIsAdmin){
grid.Column("FirstName"),
grid.Column("LastName"),
grid.Column("Email"),
grid.Column("PhoneNumber")
)
}
)
可以這樣做?如果沒有,關於如何處理它的任何想法?我需要編寫兩個不同的WebGrid,並用if()包圍它們嗎?
你有沒有嘗試用條件檢查圍繞單個列? (不知道這是可能的。)是這樣的:if(isAdmin){grid.Column(...)} – JasCav 2011-05-12 17:23:04
@Todd你得到這個解決方案嗎?如果是的話,你可以在這裏發佈嗎? – pramodtech 2011-08-23 06:41:19
http://stackoverflow.com/questions/7172420/mvc-3-webgrid-how-do-you-hide-columns-you-do-not-want-to-be-visible – muthuvel 2011-11-14 12:29:42