У меня есть проблема с видом, если я определю ее с помощью
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 ответа
Да, код, генерируемый компилятором 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;
...
Очевидно, существует ограничение на количество злоупотреблений это может занять.
Хотя я понятия не имею, почему ваш код не компилируется (выглядит правильно) вместо использования Tuple
, я настоятельно рекомендую вам использовать модель представления (возможно, даже компилятор задыхается от уродство :-)):
Inherits="System.Web.Mvc.ViewPage<List<MyViewModel>>"
Наличие :
<%: Model.Username %>
<%: Model.Date %>
гораздо читабельнее , чем:
<%: Model.Item1 %>
<%: Model.Item2 %>
Похожие вопросы
Связанные вопросы
Новые вопросы
c#
C# (произносится как «see Sharp») — это высокоуровневый мультипарадигменный язык программирования со статической типизацией, разработанный Microsoft. Код C# обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, которое включает в себя .NET, .NET Framework, .NET MAUI и Xamarin среди прочих. Используйте этот тег для ответов на вопросы о коде, написанном на C#, или о формальной спецификации C#.