WebGrid に製品データを表示する Web ページを表示しようとすると、「列が無効です」というエラーが表示されます。
現在、まったく同じコードのライブ バージョンを実行していますが、これは機能します。ただし、このローカル バージョンは、この 1 つの特定のページでは機能しません。
ご覧のとおり、下の図で参照されているコードは、エラー メッセージの下に表示されている列名と正確に一致しています。
私は完全に困惑しています。私は今何をすべきか見当もつきません。「無効な列」と表示されますが、そうではありません。それはそこにあり、コード(以下にあります)のスペルミスをトリプルチェックしましたが、すべて問題ありません!
何を与える?
<div id="grid">
@grid.GetHtml(
headerStyle : "HeaderStyle",
columns: grid.Columns(
grid.Column(
columnName : "PartNumber",
header : "Part Number",
style : "PartNumberStyle"
),
grid.Column(
columnName : "Product",
header : "Description"
),
grid.Column(
columnName : "Quantity",
header : "Quantity"
),
grid.Column(
columnName : "ZincPlatedCL2UnitPrice",
header : "Zinc Plated CL2 Unit Price",
format: @<a href="?Action=Add&PartNumber=@item["PartNumber"]&Product=@item["Product"]&Type=Zinc Plated CL2 Unit Price&Units=1&UnitPrice=@item["ZincPlatedCL2UnitPrice"]&IsBoxed=0">@item["ZincPlatedCL2UnitPrice"]</a>
),
grid.Column(
columnName : "ZincPlatedCL2BoxPrice",
header : "Zinc Plated CL2 Box Price",
format: @<a href="?Action=Add&PartNumber=@item["PartNumber"]&Product=@item["Product"]&Type=Zinc Plated CL2 Box Price&Units=1&BoxPrice=@item["ZincPlatedCL2BoxPrice"]&IsBoxed=1">@item["ZincPlatedCL2BoxPrice"]</a>
)
)
)
</div>
スタックトレース
[InvalidOperationException: Invalid column name "ZincPlatedCL2UnitPrice".]
WebMatrix.Data.DynamicRecord.VerifyColumn(文字列名) +17193
WebMatrix.Data.DynamicRecord.get_Item(文字列名) +17
WebMatrix.Data.DynamicRecord.TryGetMember(GetMemberBinder バインダー、オブジェクト& 結果) +7 CallSite.Target(Closure , CallSite , Object ) +140 System.Dynamic.UpdateDelegates.UpdateAndExecute1(CallSite サイト, T0 arg0) +432
Microsoft.Internal.Web.Utils.DynamicHelper.GetMemberValue(Object obj, String memberName) + 26
Microsoft.Internal.Web.Utils.DynamicHelper.TryGetMemberValue(Object obj, String memberName, Object& result) +24
System.Web.Helpers.WebGridRow.TryGetMember(String memberName, Object& result) +57 System.Web.Helpers.WebGridRow.get_Item(String name) +58 CallSite.Target(Closure , CallSite , Object , String ) +100
System.Dynamic .UpdateDelegates.UpdateAndExecute2(CallSite サイト、T0 arg0、T1 arg1) +685
ASP.<>c__DisplayClass1f.b__1c(TextWriter __razor_template_writer) in c:\Users\Jase\Documents\Visual Studio 2012\WebSites\One Stop Fasteners\Shared\Products \TekScrews\SelfDrillingMetalUseCL2.cshtml:98 System.Web.WebPages.HelperResult.WriteTo(TextWriter ライター) +10
System.Web.Helpers.<>c__DisplayClass10.b__f(TextWriter tw) +42 System.Web.WebPages.HelperResult.ToString( ) +82
System.Web.Helpers.<>c__DisplayClass4.b__3(TextWriter __razor_helper_writer) +1444 System.Web.WebPages.HelperResult.ToString() +82
System.Web.WebPages.HelperResult.ToHtmlString() +9
System.Web.HttpUtility.HtmlEncode (オブジェクト値) +38
System.Web.WebPages.WebPageBase.Write(オブジェクト値) +68
ASP._Page_Shared_Products_TekScrews_SelfDrillingMetalUseCL2_cshtml.Execute() in c:\Users\Jase\Documents\Visual Studio 2012\WebSites\One Stop Fasteners\Shared\ Products\TekScrews\SelfDrillingMetalUseCL2.cshtml:82 System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +197
System.Web.WebPages.WebPage.ExecutePageHierarchy(IEnumerable`1 エグゼキューター) +69 System.Web.WebPages.WebPage.ExecutePageHierarchy() +151 System.Web.WebPages.StartPage.RunPage() +17 System.Web.WebPages.StartPage .ExecutePageHierarchy() +62
System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext、TextWriter ライター、WebPageRenderingBase startPage) +76
System.Web.WebPages.WebPageHttpHandler.ProcessRequestInternal(HttpContextBase httpContext) +114-------------------------------------------------- ------------------------------ バージョン情報: Microsoft .NET Framework バージョン:4.0.30319; ASP.NET バージョン:4.0.30319.17626 スタック トレース:
[InvalidOperationException: Invalid column name "ZincPlatedCL2UnitPrice".]
WebMatrix.Data.DynamicRecord.VerifyColumn(文字列名) +17193
WebMatrix.Data.DynamicRecord.get_Item(文字列名) +17
WebMatrix.Data.DynamicRecord.TryGetMember(GetMemberBinder バインダー、オブジェクト& 結果) +7 CallSite.Target(Closure , CallSite , Object ) +140 System.Dynamic.UpdateDelegates.UpdateAndExecute1(CallSite サイト, T0 arg0) +432
Microsoft.Internal.Web.Utils.DynamicHelper.GetMemberValue(Object obj, String memberName) + 26
Microsoft.Internal.Web.Utils.DynamicHelper.TryGetMemberValue(Object obj, String memberName, Object& result) +24
System.Web.Helpers.WebGridRow.TryGetMember(String memberName, Object& result) +57 System.Web.Helpers.WebGridRow.get_Item(String name) +58 CallSite.Target(Closure , CallSite , Object , String ) +100
System.Dynamic .UpdateDelegates.UpdateAndExecute2(CallSite サイト、T0 arg0、T1 arg1) +685
ASP.<>c__DisplayClass1f.b__1c(TextWriter __razor_template_writer) in c:\Users\Jase\Documents\Visual Studio 2012\WebSites\NameRemoved\Shared\Products\TekScrews \SelfDrillingMetalUseCL2.cshtml:98 System.Web.WebPages.HelperResult.WriteTo(TextWriter ライター) +10
System.Web.Helpers.<>c__DisplayClass10.b__f(TextWriter tw) +42 System.Web.WebPages.HelperResult.ToString() + 82
System.Web.Helpers.<>c__DisplayClass4.b__3(TextWriter __razor_helper_writer) +1444 System.Web.WebPages.HelperResult.ToString() +82
System.Web.WebPages.HelperResult.ToHtmlString() +9
System.Web.HttpUtility.HtmlEncode (オブジェクト値) +38
System.Web.WebPages.WebPageBase.Write(オブジェクト値) +68
ASP._Page_Shared_Products_TekScrews_SelfDrillingMetalUseCL2_cshtml.Execute() in c:\Users\Jase\Documents\Visual Studio 2012\WebSites\NameRemoved\Shared\Products\ TekScrews\SelfDrillingMetalUseCL2.cshtml:82 System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +197
System.Web.WebPages.WebPage.ExecutePageHierarchy(IEnumerable`1 エグゼキューター) +69 System.Web.WebPages.WebPage.ExecutePageHierarchy() +151 System.Web.WebPages.StartPage.RunPage() +17 System.Web.WebPages.StartPage .ExecutePageHierarchy() +62
System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext、TextWriter ライター、WebPageRenderingBase startPage) +76
System.Web.WebPages.WebPageHttpHandler.ProcessRequestInternal(HttpContextBase httpContext) +114-------------------------------------------------- ------------------------------ バージョン情報: Microsoft .NET Framework バージョン:4.0.30319; ASP.NET バージョン:4.0.30319.17626
更新日: 2012 年 7 月 27 日
デバッグ時に、例外は次のコード行を指します。
format: @<a href="?Action=Add&PartNumber=@item["PartNumber"]&Product=@item["Product"]&Type=Zinc Plated CL2 Unit Price&Units=1&UnitPrice=@item["ZincPlatedCL2UnitPrice"]&IsBoxed=0">@item["ZincPlatedCL2UnitPrice"]</a>