Ho creato una tabella nel database che ha un System.Guid come chiave primaria. Il modello richiesto di Entity Framework di ADO.Net è stato generato e le procedure memorizzate richieste sono state mappate.Utilizzo di System.Guid come chiave primaria in ASP.Net MVC?
Ho creato un nuovo controller e aggiunto il codice di base richiesto per Crea e modifica per i dati. Tuttavia quando il clic sul link per modificare il record particolare, viene generato il seguente errore:
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
L'azione di modifica è dichiarato nel controller come segue:
public ActionResult Edit(Guid itemId)
{
return View();
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(MyItem itemToModify)
{
}
Quando si aggiunge un nuovo registrare il nuovo Guid viene generato tramite una stored procedure e l'elenco visualizza la guida corretta. L'Url sta anche passando la corretta guida per il recupero.
Non riesco a catturare il punto in cui questo non funziona, ma come faccio a passare un System.Guid come parametro al Controller?
Ora mi sento stupido a chiedere: ( – BinaryMisfit
Non preoccuparti di questo - l'unica ragione per cui ho saputo che la risposta è che ho fatto la stessa cosa una volta e ho dovuto capirlo. – tvanfosson