私は、Scott MitchellのASP.NET MVC 2のデータグリッドのソートとページングに関する4GuysFromRollaのWebサイトでチュートリアルを行っています。 CS1061: 'System.Web.Routing.RouteValueDictionary'に 'AddQueryStringParameters'の定義がなく、 'System.Web.Routing.RouteValueDictionary'型の最初の引数を受け入れる拡張メソッド 'AddQueryStringParameters'が見つかりませんでした。 (usingディレクティブまたはアセンブリ参照がありませんか?)私はDLLの参照または何か他のものを追加する必要があるかどうかはわかりません。誰かが事前にこの感謝を解決する方法をアドバイスできますか?またデモをダウンロードしても問題ありません。エラーはPagerLink.ascxファイルにあります.routeData.AddQueryStringParameters(); //ここSystem.Web.Routing.RouteValueDictionaryのエラーの定義と拡張方法なし
RouteValueDictionaryExtensions.csを指してエラーが(これはヘルパーファイルである)このようになります...
using System.Web.Routing;
namespace Web
{
public static class RouteValueDictionaryExtensions
{
public static RouteValueDictionary
AddQueryStringParameters(this RouteValueDictionary dict)
{
var querystring = HttpContext.Current.Request.QueryString;
foreach (var key in querystring.AllKeys)
if (!dict.ContainsKey(key))
dict.Add(key, querystring.GetValues(key)[0]);
return dict;
}
public static RouteValueDictionary ExceptFor(this RouteValueDictionary
dict, params string[] keysToRemove)
{
foreach (var key in keysToRemove)
if (dict.ContainsKey(key))
dict.Remove(key);
return dict;
}
}
}
Global.asax.csは次のようになります...
enter code here
namespace GridDemosMVC
{
// Note: For instructions on enabling IIS6 or IIS7 classic mode,
// visit http://go.microsoft.com/?LinkId=9394801
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id =
UrlParameter.Optional } // Parameter defaults
);
}
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RegisterRoutes(RouteTable.Routes);
}
}
}
また、MicrosoftからダウンロードできるDynamic.csファイルも使用しています。
ここで、私がデモファイルに<%@ Importを使用していないので、私が尋ねる理由は、あなたがSystem.Web.Routingを使用していることを意味するのですか?ありがとう – DiscoDude
いいえ;拡張メソッドを作成した名前空間をインポートする必要があります。また、ビューのWeb.configでインポートすることもできます。 – SLaks
私は、共有ファイルに存在するアイテムを追加するときに何とかファイルが混ざっていると思います。したがって、名前空間を追加すると、ファイル名がGridDemosMVCのときに と表示されました。私はちょっとしたリトライを名前空間の名前をいくつかのエラーで改名していたので、プロジェクトを再開する必要があると結論づけました。あなたの助けSLaksありがとう。私がプロの環境でこの事件を閉じる前にちょうど1つの質問をすることは、jqGridやマニュアルコードのような第三者のファイルを使用してScott Mitchellが提供しているものを参照できることです。 –
DiscoDude