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