ASP.NET MVC View에서 이와 같은 간단한 함수를 사용하고 싶습니다. 정수 매개 변수를 사용하고 문자열을 반환합니다.ASP.NET MVC View에서 함수를 사용하려면 어떻게해야합니까?
Function FileSizeString(ByVal ByteCount As Integer) As String
Select Case ByteCount
Case Is < (2^10)
Return ByteCount.ToString("N0") + "B"
Case (2^10) To ((2^20) - 1)
Return (ByteCount/(2^10)).ToString("N0") + "KB"
Case (2^20) To ((2^30) - 1)
Return (ByteCount/(2^20)).ToString("N0") + "MB"
Case (2^30) To Integer.MaxValue
Return (ByteCount/(2^30)).ToString("N0") + "GB"
End Select
End Function
내 컨트롤러에서 가져 왔지만 내보기에서 실행할 수 없습니다. 컴파일 타임 오류 "Name 'FileSizeString'이 선언되지 않습니다."
<ul>
<% For Each d As Document In Model.Attachments%>
<li>
<a href="<%=Url.RouteUrl("Download", New With {.id = a.Id}) %>">
<%=d.FileName %> (<%=FileSizeString(d.FileSize) %> bytes)
</a>
</li>
<% Next %>
</ul>
어디에서 내 기능을 넣어야합니까? 내 뷰에서 뷰에 액세스 할 수있게하려면 어떻게해야합니까?
문서 (내가 이해 한대로)는 데이터 모델이므로 숫자로만 크기를 지정해야합니다. 그 숫자의 실제 시각화는 프리젠 테이션 레이어, 즉 뷰 (공통 기본 뷰 클래스가있는 경우), HtmlHelper 클래스 또는 다른 프리젠 테이션 관련 클래스에 남겨져 있어야합니다. –
좋은 지적입니다, Franci.필자는 전문화 된 FileSize 데이터 유형이 모든 계층/계층에 가장 적합하다고 생각합니다. Data Annotations가 좋은 해결책인지 궁금합니다. 나는 그것에 대해 더 알 필요가있다. –