【发布时间】:2009-09-27 12:06:10
【问题描述】:
我在数据库中创建了一个以 System.Guid 作为主键的表。已生成所需的 ADO.Net Entity Framework 模型并已映射所需的存储过程。
我创建了一个新控制器,并为数据添加了创建和编辑所需的基本代码。但是,当单击链接编辑特定记录时,会生成以下错误:
The parameters dictionary contains a null entry for parameter '[MyId]' of non-nullable type 'System.Guid' for method 'System.Web.Mvc.ActionResult Edit(System.Guid)' in '[MySite].[MyController].[SpecificController]'. To make a parameter optional its type should be either a reference type or a Nullable type.
Parameter name: parameters
编辑动作在控制器中声明如下:
public ActionResult Edit(Guid itemId)
{
return View();
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(MyItem itemToModify)
{
}
添加新记录时,新的 Guid 是通过存储过程生成的,并且列表显示正确的 Guid。 Url 还传递了正确的 Guid 以进行检索。
我似乎无法捕捉到失败的地方,但我将如何将 System.Guid 作为参数传递给控制器?
【问题讨论】:
标签: asp.net-mvc controller primary-key guid