У меня есть странная проблема с видом бритвы asp.net MVC.
Я хочу, чтобы моя модель была List<Tuple<string, int, int, int, int>>
, что совершенно верно в моих других методах С#. Но когда я вставляю его в объявление @model
, кажется, что он выбирает только строковую часть кортежа. Поэтому у меня нет инт. Только item1.
Эта проблема отсутствует, если я привязываю ее к кортежу вместо List.
Кажется, что сгенерированный код ошибочен, возможно, это ошибка в виде бритвы?
Ошибка при компиляции:
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.
Compiler Error Message: CS1003: Syntax error, '>' expected
Source Error:
Line 27:
Line 28:
Line 29: public class _Page_Views_Dashboard_DestinationStatistics_cshtml : System.Web.Mvc.WebViewPage<List<Tuple<string {
Line 30:
Line 31: #line hidden
Чтобы изолировать эту проблему, я сделал следующее:
Создайте пустой проект asp.net mvc. Создайте новое представление. Прочтите следующий код.
@model List<Tuple<string, int, int, int, int>>
@foreach (var stat in Model)
{
<tr>
<td>
@stat.Item1
</td>
<td>
@stat.Item2
</td>
<td>
@stat.Item3
</td>
<td>
@stat.Item4
</td>
<td>
@stat.Item5
</td>
</tr>
}
Я знаю, что могу просто создать класс или структуру для хранения данных. Просто прошу из любопытства
EDIT: Решено и сообщено команде MVC здесь http://aspnet.codeplex.com/workitem/8652