用detailsView新建用户时出错

chenf3 2010-01-11 05:20:44
“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------

无法创建抽象类。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.MissingMethodException: 无法创建抽象类。

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

添加页面:


<asp:ObjectDataSource runat ="server" ID="UserDetailSource" SelectMethod ="GetUserById" InsertMethod ="add" UpdateMethod="Update"
TypeName =" YL.PinHong.BLL.admin" DataObjectTypeName ="YL.PinHong.BLL.admin" OnInserted="UserDetailSource_Inserted" >
<SelectParameters >
<asp:QueryStringParameter Name="Id" QueryStringField ="Id" Type ="int32" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="StateDataSource" runat ="server" TypeName ="YL.PinHong.BLL.States" SelectMethod ="getUserStates" />
<asp:ObjectDataSource ID="RoleDataSource" runat="server" TypeName ="YL.PinHong.BLL.Roles" SelectMethod="getRolesList" />
<asp:DetailsView ID="userdetails" runat ="server" AutoGenerateRows ="false" AutoGenerateInsertButton ="true" AutoGenerateEditButton ="true"
DataSourceID ="UserDetailSource" DataKeyNames ="Id" >
<Fields >
<asp:TemplateField HeaderText="用户名">
<EditItemTemplate>
<asp:TextBox ID="Name" Text='<%# Bind("Name") %>' runat="server" />
<asp:RequiredFieldValidator ID="ValidateName" Display="Dynamic" ControlToValidate="Name"
runat="server" ErrorMessage="请输入用户名">
</asp:RequiredFieldValidator>
<asp:CustomValidator ID="ValidateExit" runat="server" ControlToValidate="Name" Display="Dynamic"
ErrorMessage="此用户已存在" OnServerValidate="ValidateExit_ServerValidate">
</asp:CustomValidator>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="密码">
<EditItemTemplate>
<asp:TextBox ID="Password" TextMode="Password" Text='<%# Bind("Password") %>' runat="server" />
<asp:RequiredFieldValidator ID="ValidatePassword" Display="Dynamic" runat="server"
ErrorMessage="请输入密码" ControlToValidate="Password"></asp:RequiredFieldValidator>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="确认密码">
<EditItemTemplate>
<asp:TextBox ID="ValPassword" TextMode="Password" runat="server" />
<asp:RequiredFieldValidator ID="ValidatePassword2" Display="Dynamic" runat="server"
ErrorMessage="请输入确认密码" ControlToValidate="ValPassword">
</asp:RequiredFieldValidator>
<asp:CompareValidator ID="ComparePassword" runat="server" Display="Dynamic" ControlToCompare="Password"
ControlToValidate="ValPassword" ErrorMessage="两次密码输入不一致">
</asp:CompareValidator>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText ="头像">
<EditItemTemplate >
<asp:TextBox runat ="server" ID="Face" Text ='<%# Bind("Face") %>'/>
<asp:FileUpload runat="server" ID="FulFile" />
<asp:Button ID ="ButtonUpload" runat ="server" Text ="上传" CausesValidation ="false" OnClick="ButtonUpload_Click" />
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="用户状态">
<EditItemTemplate>
<asp:DropDownList ID="UserState" DataSourceID="StateDataSource" runat="server" SelectedValue='<%# Bind("StateId") %>'
DataTextField="Name" DataValueField="Id" AppendDataBoundItems="true">
<asp:ListItem Text="请选择状态" Value="" />
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="UserState"
Display="Dynamic" runat="server" ErrorMessage="请选择状态">
</asp:RequiredFieldValidator>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="用户角色">
<EditItemTemplate>
<asp:DropDownList ID="UserRole" DataSourceID="RoleDataSource" runat="server" SelectedValue='<%# Bind("RoleId") %>'
DataTextField="Name" DataValueField="Id" AppendDataBoundItems="true">
<asp:ListItem Text="请选择角色" Value="" />
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="请选择状态"
ControlToValidate="UserRole" Display="Dynamic"></asp:RequiredFieldValidator>
</EditItemTemplate>
</asp:TemplateField>

</Fields>
</asp:DetailsView>




方法:



public static int add(Models.Admin user)
{
string sql = "insert into [Admin] ([Name],[Password],[Face],[StateId],[RoleId]) values (@name,@password,@face,@stateId,@roleId)";
SqlParameter[] parameters = {new SqlParameter ("@name",user.Name ),
new SqlParameter ("@password",user.Password ),
new SqlParameter ("@face",user.Face ),
new SqlParameter ("@stateId",user .StateId ),
new SqlParameter ("@roleId",user .RoleId )};
return DbHelperSql.ExecuteSql(sql, parameters);
}
...全文
81 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenf3 2010-01-11
  • 打赏
  • 举报
回复
up
chenf3 2010-01-11
  • 打赏
  • 举报
回复
<asp:TemplateField HeaderText="用户状态">
<EditItemTemplate>
<asp:DropDownList ID="UserState" DataSourceID="StateDataSource" runat="server" SelectedValue='<%# Bind("StateId") %>'
DataTextField="Name" DataValueField="Id" AppendDataBoundItems="true">
<asp:ListItem Text="请选择状态" Value="" />
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="UserState"
Display="Dynamic" runat="server" ErrorMessage="请选择状态">
</asp:RequiredFieldValidator>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="用户角色">
<EditItemTemplate>
<asp:DropDownList ID="UserRole" DataSourceID="RoleDataSource" runat="server" SelectedValue='<%# Bind("RoleId") %>'
DataTextField="Name" DataValueField="Id" AppendDataBoundItems="true">
<asp:ListItem Text="请选择角色" Value="" />
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="请选择状态"
ControlToValidate="UserRole" Display="Dynamic"></asp:RequiredFieldValidator>
</EditItemTemplate>
</asp:TemplateField>
chenf3 2010-01-11
  • 打赏
  • 举报
回复
角色 我用的都是Bind
cffbest_521 2010-01-11
  • 打赏
  • 举报
回复
你的用户角色是不是外键啊?如果是外键 new SqlParameter ("@roleId",user .RoleId.RoleId )};
并且这个字段的绑定需要用Eval。在看一下你的.cs的代码!
chenf3 2010-01-11
  • 打赏
  • 举报
回复
chenf3 2010-01-11
  • 打赏
  • 举报
回复
顶起 刷新的真快啊
chenf3 2010-01-11
  • 打赏
  • 举报
回复
up

62,254

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧