目前在寫MVC的View,假設我有一個陣列,依照欄位style的值,長出不一樣的樣式,目前整理出以下不同:
row.Style="subTitle1"
-->style='width:15%;border-right:none;'
row.Style="subTitle2"
-->style='width:15%;border-right:none;font-weight:bold;'
row.Style="title"
-->style='width:15%;border-right:none;font-weight:bold;background:#E5E5E5;'
以下為基本樣式:
<div class='div_table'>
<div class='div_tr'>
<div class='div_td' style='width:15%;border-right:none;'>
@(row.Item1)
</div>
<div class='div_td' style='width:70%;'>
@(row.Item2)
</div>
<div class='div_td' style='width:15%;border-left:none;'>
@(row.Item3)
</div>
</div>
</div>
嘗試以下撰寫:
<div class='div_td' @Html.Raw(row.Style=="title"? "style='width:15%;border-right:none;font-weight:bold;background:#E5E5E5;'":
row.Style=="subTitle1"? "style='width:15%;border-right:none;'":
"style='width:15%;border-right:none;font-weight:bold;'")>
請問有更好的寫法嗎?
<div class='div_td' style='width:15%;border-right:none;@(row.Style == "title" ? "background:#E5E5E5;font-weight:bold;" : String.Empty)'></div>
如果要用Html.Raw就會變成
<div class='div_td' style='width:15%;border-right:none;@(Html.Raw(row.Style == "title" ? "background:#E5E5E5;font-weight:bold;" : String.Empty))'></div>
另外,因為您的Style眾多,建議您先建立一個css file,如下
.subTitle1 {
/* Style寫在裡面 */
}
.subTitle2 {
/* Style寫在裡面 */
}
.title {
/* Style寫在裡面 */
}
然後在需要使用的地方
<div class='div_td @(row.Style)'></div>
別忘了在<head>裡面加入css的reference哦~
謝謝YoChen的幫忙~我學習您說的先建立一個css file,在依照變數指定樣式,感覺這樣比較好看,之後也比較好維護~
你沒說,
出現了什麼error呢?