zoukankan      html  css  js  c++  java
  • ASP.NET LinqDataSource数据绑定后,遇到[MissingMethodException: 没有为该对象定义无参数的构造函数。]问题。

    问题出现的情形:LinqDataSource数据绑定到DetailsView或GridView均出错,错误如下:

    “/”应用程序中的服务器错误。
    没有为该对象定义无参数的构造函数。
    说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
    
    异常详细信息: System.MissingMethodException: 没有为该对象定义无参数的构造函数。
    
    源错误:
    
    执行当前 Web 请求期间生成了未经处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
    
    堆栈跟踪:
    
    
    [MissingMethodException: 没有为该对象定义无参数的构造函数。]
       System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) +0
       System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark) +122
       System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark) +239
       System.Activator.CreateInstance(Type type, Boolean nonPublic) +85
       System.Activator.CreateInstance(Type type) +12
       System.Web.HttpRuntime.FastCreatePublicInstance(Type type) +80
       System.Web.UI.WebControls.LinqDataSourceView.CreateContext(Type contextType) +12
       System.Web.UI.WebControls.LinqDataSourceView.CreateContextAndTable(DataSourceOperation operation) +857
       System.Web.UI.WebControls.LinqDataSourceView.CreateContextAndTableForSelect() +151
       System.Web.UI.WebControls.LinqDataSourceView.CreateContext(DataSourceOperation operation) +15
       System.Web.UI.WebControls.ContextDataSourceView.GetSource(QueryContext context) +21
       System.Web.UI.WebControls.LinqDataSourceView.GetSource(QueryContext context) +334
       System.Web.UI.WebControls.LinqDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +64
       System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +22
       System.Web.UI.WebControls.DataBoundControl.PerformSelect() +151
       System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +76
       System.Web.UI.WebControls.DetailsView.DataBind() +10
       System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +114
       System.Web.UI.WebControls.DetailsView.EnsureDataBound() +239
       System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() +76
       System.Web.UI.Control.EnsureChildControls() +97
       System.Web.UI.Control.PreRenderRecursiveInternal() +42
       System.Web.UI.Control.PreRenderRecursiveInternal() +163
       System.Web.UI.Control.PreRenderRecursiveInternal() +163
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +906
    
    版本信息: Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.8.3815.0

    问题原因:自己创建的datacontext部分类缺失了0参数的构造函数。

    解决办法:不更改VS自动生成的dbml文件(mystudent)的datacontext部分类(mystudentDataContext)的代码(在mystudent.designer.cs文件里面),新建一个类,添加0参数构造函数,问题解决,代码如下:

    using System;
    using System.Collections.Generic;
    using System.Configuration;
    using System.Linq;
    using System.Web;
    
    /// <summary>
    /// mystudent 的摘要说明
    /// </summary>
    public partial class mystudentDataContext : System.Data.Linq.DataContext
    {
        public mystudentDataContext()
            : base(ConfigurationManager.ConnectionStrings["LiteratureConnectionString01"].ConnectionString, mappingSource)
        {
            //
            // TODO: 在此处添加构造函数逻辑
            //
        }
    }

    参考资源:https://stackoverflow.com/questions/24216559/no-parameterless-constructor-defined-for-this-object-asp-net-website

  • 相关阅读:
    JAVA | Guava EventBus 使用 发布/订阅模式
    Go | Go 语言打包静态文件以及如何与Gin一起使用Go-bindata
    写了一个慢接口,年终妥妥的325
    理解C#中的ExecutionContext vs SynchronizationContext
    理解C#中的ConfigureAwait
    反直觉的三门问题
    连求最大公约数都不会,我怕不是上了个假大学
    「补课」进行时:设计模式(22)——桥梁模式
    抄答案就是了,两套详细的设计方案,解决头疼的支付掉单问题
    如何写好绩效考核中的年终总结?
  • 原文地址:https://www.cnblogs.com/yeahgis/p/11681072.html
Copyright © 2011-2022 走看看