读书人

linq数据传递有关问题

发布时间: 2013-03-10 09:38:39 作者: rapoo

linq数据传递问题
我使用的ado.net实体数据模型做为实体层,将用户输入数据传回到实体对象时出错,代码如下:
protected void btnSave_Click(object sender, EventArgs e)
{
User user = new User();
user.ID = moduleID.Text;
user.UserName = moduleName.Text;
user.UserRole.RoleID = ddlRole.SelectedValue;//运行到此行时报错,显示“未将对象引用设置到对象的实例” ,user为实体对象,UserRole为user对象的导航属性,我觉得这里出错应该是因为user类实例化后并不包涵RoleID对象,所以报错,请问这种情况有什么解决方法?
}
[解决办法]
user.UserRole= db.UserRole.Single(r=>r.RoleID == ddlRole.SelectedValue);

1.注意类型转换
2. 注意判断ddlRole.SelectedValue是否为空等
[解决办法]
2种方式

1。user.UserRoleID = ddlRole.SelectedValue
2.UserRole ur=new UserRole{RoleID=ddlRole.SelectedValue};
user.UserRole=ur;
[解决办法]
确定
ddlRole.SelectedValue 是和user.UserRole.RoleID 同一类型;

另外ddlRole.SelectedValue是否是有效的值?

读书人网 >asp.net

热点推荐