SharePoint 2010 在WebPart页面上调用扩展方法报方法未定义的解决方案

简介: SharePoint 2010是基于.NET 3.5的,但是微软一直是神坑,页面前台居然不支持扩展方法,也就是你可以在后台代码里面使用扩展方法,但是不能在前台页面 上逍遥,否则会打回原型,比如在WebPart页面上加入如下代码: 然后绑定表达式如下: 就会报如下错误: 查看编译详情就会发现,微软这坑货用的是2.0编译的,自然就无法使用扩展方法了。

SharePoint 2010是基于.NET 3.5的,但是微软一直是神坑,页面前台居然不支持扩展方法,也就是你可以在后台代码里面使用扩展方法,但是不能在前台页面 上逍遥,否则会打回原型,比如在WebPart页面上加入如下代码:

<%@ Import Namespace="Common" %>

然后绑定表达式如下:

<%# Eval("Applying_Date").ShowDateStr("yyyy-MM-dd") %>

就会报如下错误:

image

查看编译详情就会发现,微软这坑货用的是2.0编译的,自然就无法使用扩展方法了。神坑啊,有木有,有图有真相:

image

为了让编译器用上3.5,我们可以在Web.config配置编译器信息:

<system.codedom>
  <compilers>
    <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
      <providerOption name="CompilerVersion" value="v3.5" />
      <providerOption name="WarnAsError" value="false" />
    </compiler>
  </compilers>
</system.codedom>

注意这个:“<providerOption name="CompilerVersion" value="v3.5" />”。

保存刷新,问题立马解决。伤不起,程序员何必难为程序员。

目录
相关文章
|
Web App开发
【视频】自然框架之分页控件的使用方法(二) 下载、DLL说明和web.config的设置
    上次说的是QuickPager分页控件的PostBack的使用方式,也提供了源码下载。但是有些人下载之后发现有一大堆的文件夹,还有一大堆的DLL,到底要用哪个呀?不会都要用吧。     当然不需要全都引用了,只需要引用三个DLL就可以了。
1094 0
|
.NET API 网络架构
使用静态基类方案让 ASP.NET Core 实现遵循 HATEOAS Restful Web API
Hypermedia As The Engine Of Application State (HATEOAS) HATEOAS(Hypermedia as the engine of application state)是 REST 架构风格中最复杂的约束,也是构建成熟 REST 服务的核心。
1126 0
|
JavaScript .NET 索引
ASP.NET Core教程【二】从保存数据看Razor Page的特有属性与服务端验证
前文索引:ASP.NET Core教程【一】关于Razor Page的知识 在layout.cshtml文件中,我们可以看到如下代码: RazorPagesMovie 这段代码中用到asp-page这样的一个特有属性,这是razor page特有的, 这是一个锚点属性,它的值将被编译到a标...
1884 0
|
Web App开发
SharePoint 自定义WebPart之间的连接
  1、创建SharePoint解决方案,添加两个WebPart分别用来发送和接收;   2、发送值的WebPart需要继承自IWebPartField(当然,根据需要还可以选择IWebPartField,IWebPartParameters,IWebPartRow,IWebPartTable...
892 0