加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.NET LinqDataSource数据绑定后,遇到[MissingMethodExceptio

发布时间:2020-12-16 09:26:04 所属栏目:asp.Net 来源:网络整理
导读:问题出现的情形:LinqDataSource数据绑定到DetailsView或GridView均出错,错误如下: “/”应用程序中的服务器错误。没有为该对象定义无参数的构造函数。说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导

问题出现的情形: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,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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读