我正在循環瀏覽剃鬚刀視圖中的數據集。我是MVC和Razor的新手。 ASP.net背景。將動態數據傳遞給視圖函數MVC
@foreach (System.Data.DataRow _row in Model.Rows)
{
<tr>
<td>@_row["FileNameShort"].ToString()</td>
<td>@_row["FileSize"]</td>
<td><a href="[email protected]_row["ID"].ToString()">View</a></td>
</tr>
}
我需要文件大小在MB,GB,KB都是爵士樂。它以字節爲單位。 我已經在視圖上放置了一個函數來設置它的格式。我在其他地方找到的東西,但它應該工作得很好。
@functions {
List<string> suffixes = new List<string> { " B", " KB", " MB", " GB", " TB", " PB" };
string Numeric2Bytes(int number)
{
for (int i = 0; i < suffixes.Count; i++)
{
int temp = number/(int)Math.Pow(1024, i + 1);
if (temp == 0)
return (number/(int)Math.Pow(1024, i)) + suffixes[i];
}
return number.ToString();
}
string test(int number)
{
return number.ToString();
}
}
如果我只是這樣做:
<td>Numeric2Bytes(@_row["FileSize"])</td>
它抱怨說,它的參數無效,即使它在數據集中的INT。
做我需要做的事情的最佳方法是什麼?
ÿ在進入視圖之前,您應該完成所有需要顯示的處理。 – zimdanen
@zimdanen同意,但有人可能會爭辯說,大小格式爲GB,TB,KB是一個顯示問題,應該在視圖中完成。 –