Utworzyłem tabelę w bazie danych, która ma klucz System.Guid jako swój klucz podstawowy. Wymagany model ADO.Net Entity Framework został wygenerowany i zmapowano wymagane procedury składowane.Korzystanie z System.Guid jako klucz podstawowy w ASP.Net MVC?
Utworzono nowy kontroler i dodano podstawowy wymagany kod do tworzenia i edycji danych. Jednakże gdy kliknięcie na link, aby edytować konkretny zapis następujący błąd jest generowany:
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
Akcja edycja została zadeklarowana w sterowniku, co następuje:
public ActionResult Edit(Guid itemId)
{
return View();
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(MyItem itemToModify)
{
}
Podczas dodawania nowego nagraj nowy Guid jest generowany za pomocą procedury zapisanej, a na liście wyświetla się poprawny Guid. Url przekazuje również prawidłowe Guid do wyszukiwania.
Nie mogę uchwycić punktu, w którym to się nie powiedzie, ale w jaki sposób chciałbym przejść do przekazywania wartości System.Guid jako parametru do kontrolera?
Teraz czuję się głupio, gdy pytam :( – BinaryMisfit
Nie przejmuj się tym - jedynym powodem, dla którego wiedziałem, że odpowiedź brzmi: zrobiłem to samo raz i musiałem to rozgryźć. – tvanfosson