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

  • 相关阅读:
    97. Interleaving String
    96. Unique Binary Search Trees
    95. Unique Binary Search Trees II
    94. Binary Tree Inorder Traversal
    odoo many2many字段 指定打开的form视图
    docker sentry 配置文件位置
    postgres 计算时差
    postgres 字符操作补位,字符切割
    postgres判断字符串是否为时间,数字
    odoo fields_view_get
  • 原文地址:https://www.cnblogs.com/yeahgis/p/11681072.html
Copyright © 2011-2022 走看看