是否可以有條件地爲某個Web網格列設置CSS類或將字符串編碼爲html?我能夠使用格式將span標籤添加到項目中:在列中,但現在我需要根據剃鬚刀視圖中的幫助函數或控制器/模型中的bool表達式向span標籤中添加一個類。 我不想用JS做到這一點,C#應該足夠。有條件地向web網格列項添加CSS類
以下是我在視圖模型的嘗試:
@grid.GetHtml(
headerStyle:"reviewGridHeader",
columns: grid.Columns(
...[other columns]...
grid.Column(columnName: "FeedBack", format: @<span>@CheckFeedBack(item.FeedBack)</span>)
))
助手功能視圖模型(拆分和比較字符串):
static string CheckFeedBack(string item) {
String[] feedbacks = System.Text.RegularExpressions.Regex.Split(item, "of");
//if feedback complete
if((Convert.ToInt32(feedbacks[0]) == (Convert.ToInt32(feedbacks[1]))))
{
string newFeedback = @"<span class=""feedBackComplete"">"+ item +"</span>";
string encodedFeedback = System.Web.HttpUtility.HtmlEncode(newFeedback);
return encodedFeedback;
}
return item;
}
這裏是演示文稿,其中有條件的工程時,反饋完成:
更新:經過Zach的指導,返回一個MvcHtmlString,我有一些問題可以在WebGrid列中使用上面的這個輔助方法。下面給出了正確的語法:
grid.Column(columnName: "FeedBack", format: (item) => CheckFeedBack(item.FeedBack), style: "webGridAlignment")
嘗試使用MvcHtmlString.Create – maxs87
誰是扎克? ;) –
你的doppelganger得到了最好的答案 –