0

当我尝试查看在 WebGrid 中显示产品数据的网页时,我收到“无效列”错误。

我目前正在运行完全相同的代码的实时版本,它可以工作。但是,此本地版本不适用于此 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: 无效的列名“ZincPlatedCL2UnitPrice”。]
WebMatrix.Data.DynamicRecord.VerifyColumn(String name) +17193
WebMatrix.Data.DynamicRecord.get_Item(String name) +17
WebMatrix.Data.DynamicRecord.TryGetMember(GetMemberBinder binder, Object& result ) +7 CallSite.Target(Closure, CallSite, Object) +140 System.Dynamic.UpdateDelegates.UpdateAndExecute1(CallSite site, 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 site, T0 arg0, T1 arg1)
+685 ASP.<>c__DisplayClass1f.b__1c(TextWriter __razor_template_writer) 在 c:\Users\Jase\Documents\Visual Studio 2012\WebSites\One Stop Fasteners\Shared\Products \TekScrews\SelfDrillingMetalUseCL2.cshtml:98 System.Web.WebPages.HelperResult.WriteTo(TextWriter writer) +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() 在 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 executors) +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 writer, WebPageRenderingBase startPage) +76
System.Web.WebPages.WebPageHttpHandler.ProcessRequestInternal(HttpContextBase httpContext) +114

-------------------------------------------------- ------------------ 版本信息:Microsoft .NET Framework 版本:4.0.30319;ASP.NET 版本:4.0.30319.17626 堆栈跟踪:

[InvalidOperationException: 无效的列名“ZincPlatedCL2UnitPrice”。]
WebMatrix.Data.DynamicRecord.VerifyColumn(String name) +17193
WebMatrix.Data.DynamicRecord.get_Item(String name) +17
WebMatrix.Data.DynamicRecord.TryGetMember(GetMemberBinder binder, Object& result ) +7 CallSite.Target(Closure, CallSite, Object) +140 System.Dynamic.UpdateDelegates.UpdateAndExecute1(CallSite site, 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) 在 c:\Users\Jase\Documents\Visual Studio 2012\WebSites\NameRemoved\Shared\Products\TekScrews \SelfDrillingMetalUseCL2.cshtml:98 System.Web.WebPages.HelperResult.WriteTo(TextWriter writer) +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() 在 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 executors) +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 writer, WebPageRenderingBase startPage) +76
System.Web.WebPages.WebPageHttpHandler.ProcessRequestInternal(HttpContextBase httpContext) +114

-------------------------------------------------- ------------------ 版本信息:Microsoft .NET Framework 版本:4.0.30319;ASP.NET 版本:4.0.30319.17626

更新日期:27/07/2012


调试时,异常指向这行代码:

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>

在此处输入图像描述

4

1 回答 1

2

您是否确实检查了本地数据库以确保该列在架构中?与您的实体框架架构相比,您的本地数据库可能是“旧的”。

于 2012-07-26T18:36:26.123 回答