问题描述
大家帮我看一下,谢谢。调试后老是出现下面错误:从“System.String”到“System.Guid”的强制转换无效。说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息:System.InvalidCastException:从“System.String”到“System.Guid”的强制转换无效。源错误:行59:publicvoidSave(objectobj)行60:{行61:HibernateTemplate.Save(obj);行62:}行63:以下是我写的代码:elseif(strAction=="Add"){if(this.ddlCNo.Text.Trim().Equals("")||this.TxtBMNo.Text.Trim().Equals("")){if(this.ddlCNo.Text.Trim().Equals("")){WebCommon.msg("请输入合同号码。","");return;}if(this.TxtBMNo.Text.Trim().Equals("")){WebCommon.msg("请输入BOM表单号。","");return;}}else{SystemBE.SDSBMc=newSDSBM();c.B_BMNo=TxtBMNo.Text;c.B_ConfirmDictateID=newGuid(ddlCNo.SelectedValue);//感觉出错是在这个地方但是不知道如何去改c.B_DrawingID=int.Parse(dllDrawingNo.SelectedValue);c.B_Revision=TxtRevision.Text;c.B_Date=DateTime.Now;c.B_Remark=TxtR.Text;dao.Save(c);WebCommon.msg("保存成功!","BMEdit.aspx?ID="+GetLastID.GetID("dbo.SDS_BM","B_ID")+"&Action=Edit");}}
解决方案
解决方案二:
c.B_ConfirmDictateID=newGuid(ddlCNo.SelectedValue);ddlCNo.SelectedValue需要为"89485903-f145-43fa-b917-519dbde255ea"//这样的一组字符串值或者,或者二进制,如你要一个新的Guid可以用c.B_ConfirmDictateID=Guid.NewGuid();
解决方案三:
g包含下面任一格式的GUID的String(“d”表示忽略大小写的十六进制数字):32个连续的数字dddddddddddddddddddddddddddddddd-或-8、4、4、4和12位数字的分组,各组之间有连线符。也可以用一对大括号或者圆括号将整个GUID括起来:dddddddd-dddd-dddd-dddd-dddddddddddd-或-{dddddddd-dddd-dddd-dddd-dddddddddddd}-或-(dddddddd-dddd-dddd-dddd-dddddddddddd)你的ddlCNo.SelectedValue里面的格式与他的要求不匹配吧
解决方案四:
有哪位知道具体怎么改吗?我是一个初学者。谢谢