LinqDataSource绑定后,如何解决无参数构造方法缺失问题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计649个文字,预计阅读时间需要3分钟。
问题出现的情况: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, 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: 在此处添加构造函数逻辑 // } }
参考资源:stackoverflow.com/questions/24216559/no-parameterless-constructor-defined-for-this-object-asp-net-website
本文共计649个文字,预计阅读时间需要3分钟。
问题出现的情况: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, 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: 在此处添加构造函数逻辑 // } }
参考资源:stackoverflow.com/questions/24216559/no-parameterless-constructor-defined-for-this-object-asp-net-website

