Я только что обновился до VS2010 (rc), а затем был вынужден обновить мои проекты и преобразовать в MVC2 (ta microsoft) ..., в котором первое приложение было затронуто.Ошибки MVC для MVC2
Error 2 'System.Web.Mvc.IValueProvider' does not contain a definition for
'Where' and no extension method 'Where' accepting a first argument of type
'System.Web.Mvc.IValueProvider' could be found (are you missing a using directive or an
assembly reference?) ~\Controllers\DiscountsController.cs 51 39 ODSe
Учитывая, что я знаю, что это работает в VS2008 - MVC1. Меня бросают. Кто угодно?
я в настоящее время (в комплекте)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Mvc.Ajax;
using ODSe.Models;
using System.Text;
using System.Text.RegularExpressions;
using System.Net.Mail;
не должны должны быть .net 4, как первоначальный проект был 3,5; и MVC2 является .net 3.5 (ASP.NET MVC 2 RC 2 обеспечивает новый Model-View-Controller (MVC) рамки поверх существующих ASP.NET 3.5 SP1 выполнения.)
Код Около 51
foreach (var x in this.ValueProvider.Where(k => k.Key.StartsWith("discount.")))
{
if (String.IsNullOrEmpty(x.Value.AttemptedValue))
{
ModelState.SetModelValue(x.Key, new ValueProviderResult(ValueProvider[x.Key].AttemptedValue, collection[x.Key], System.Globalization.CultureInfo.CurrentCulture));
Discount = true;
}
}
Когда код был написан для MVC (1) в VS2008 this.ValueProvider был «IDictionary ControllerBase.ValueProvider. в MVC (2) VS2010 он бросает hissy подгонку об использовании, где хотя это, очевидно, прекрасно .
foreach (var x in this.ValueProvider)
{
if (x.Key.StartsWith("discount."))
{
if (String.IsNullOrEmpty(x.Value.AttemptedValue))
{
ModelState.SetModelValue(x.Key, new ValueProviderResult(ValueProvider[x.Key].AttemptedValue, collection[x.Key], System.Globalization.CultureInfo.CurrentCulture));
Discount = true;
}
}
}
Если нет приклада уродливого куска кода; Устаревший код очень полезен
Я думаю, ваше право; Я бросил код вверху. –