У меня есть проблема с видом, если я определю ее с помощью

Inherits="System.Web.Mvc.ViewPage<List<Tuple<string, DateTime?, double?, double?, double?>>>"

Я получаю ошибку werid:

CS1003: Syntax error, '>' expected
Line 118:    public class views_report_intrestcalc_aspx : System.Web.Mvc.ViewPage<List<Tuple<string, System.Web.SessionState.IRequiresSessionState, System.Web.IHttpHandler {

Но он отлично работает, если я удалю последнее ", двойное?". Ошибка в комиллере asp.net?

2
AndreasN 2 Сен 2010 в 14:23

2 ответа

Лучший ответ

Да, код, генерируемый компилятором ASP.NET, для вашего примера не работает. Я могу воссоздать это (Visual Studio 2010, .NET 4, ASP.NET MVC 2) и получить:

public class views_home_index_aspx : System.Web.Mvc.ViewPage<List<Tuple<string,
        System.Web.SessionState.IRequiresSessionState, System.Web.IHttpHandler {
    private static bool @__initialized;
    ...

Когда должно быть:

public class views_home_index_aspx : System.Web.Mvc.ViewPage<List<Tuple<string,
        DateTime?, double?, double?, double?>>>, 
        System.Web.SessionState.IRequiresSessionState,
        System.Web.IHttpHandler {
    private static bool @__initialized;
    ...

Очевидно, существует ограничение на количество злоупотреблений это может занять.

3
Community 23 Май 2017 в 15:11

Хотя я понятия не имею, почему ваш код не компилируется (выглядит правильно) вместо использования Tuple, я настоятельно рекомендую вам использовать модель представления (возможно, даже компилятор задыхается от уродство :-)):

Inherits="System.Web.Mvc.ViewPage<List<MyViewModel>>"

Наличие :

<%: Model.Username %>
<%: Model.Date %>

гораздо читабельнее , чем:

<%: Model.Item1 %>
<%: Model.Item2 %>
2
Darin Dimitrov 2 Сен 2010 в 15:35