我在数据库中创建了一个表,它有一个System.Guid作为它的主键.已生成所需的ADO.Net实体框架模型,并已映射所需的存储过程.
我创建了一个新的控制器,并为数据的创建和编辑添加了基本的必需代码.但是,当单击链接以编辑特定记录时,会生成以下错误:
参数字典包含'[MySite]中方法’System.Web.Mvc.ActionResult Edit(System.Guid)’的非可空类型’System.Guid’的参数'[MyId]’的空条目.[MyController] [SpecificController]”.要使参数可选,其类型应为引用类型或Nullable类型.
参数名称:参数
编辑操作在控制器中声明如下:
public ActionResult Edit(Guid itemId) { return View(); } [AcceptVerbs(HttpVerbs.Post)] public ActionResult Edit(MyItem itemToModify) { }
添加新记录时,通过存储过程生成新Guid,列表显示正确的Guid. Url也传递正确的Guid进行检索.
我似乎无法捕捉失败的重点,但我如何将System.Guid作为参数传递给Controller?