2013-03-29 19 views
6

Il problema è sempre un'eccezione di riferimento null quando il passaggio di dati da controller per visualizzareModello in MVC vista

sto passando un modello per la vista dal controller in questo modo:

{ 
    ViewBag.PartId = id; 
    var viewmodel= new Orderviewmodelnew(); 
    var order = new OrderMnagernew().GetSingleOrderField(id); 
    viewmodel.ProjectId=order.ProjectId; 
    return View(viewmodel); 
} 

E nella vista che ho il codice come questo

@model DreamTrade.Web.BL.ViewModels.OrderViewModelnew 


Home>Project @Model.ProjectID==null??//projected is of type guid 

Customer :@(Model.CreatedBy??string.empty) 

Project :@Model.ProjectID 
    @Model.ProjectDetail 

    CreatedBy:@Model.CreatedBy 

    Creation Date:@Model.CreationDate 

CompletedBy :@Model.ModifiedBy 
Completion Date:@Model.LastModified 

@Model.Image 

    @Html.Action("OrderIndex", "Ordernew", new { PartId = Guid.Parse("C0497A40-2ADE-4B23-BA9F-1694F087C3D0") }) 

che ho provato in questo modo

@if(Model.ProjectId==Null) 
{/....} 

Nel regolatore ho provato come questo non passa modello se è nullo

var order = new OrderMnagernew().GetSingleOrderField(id); 
    if(order!=null) 
    { 
     viewmodel.ProjectId=order.ProjectId; 
     return View(viewmodel); 

    } 
return View() 

Il problema con questo l'ProjectID nella vista mostra eccezione.

voglio visualizzare stringa vuota se si tratta di nulla e mostrare la parte restante ..

+0

Provate ad usare 'Model.ProjectId.Any()' nella vostra istruzione if –

+0

prega, aggiungere testo un'eccezione di riferimento – webdeveloper

+0

oggetto non impostato su un'istanza di un oggetto. questa è l'eccezione – user2189168

risposta

3

Questo codice è sbagliato:

@Model.ProjectID==null??string.empty 

se ProjectID è il tipo nullable, si dovrebbe scrivere:

@(Model.ProjectID ?? string.empty) 

Aggiunto:

Sostituire:

return View() 

con:

return View(new Orderviewmodelnew()) 

perché null oggetto non ha alcuna proprietà

+0

Riferimento oggetto non impostato su un'istanza di un oggetto. Descrizione: si è verificata un'eccezione non gestita durante l'esecuzione della richiesta Web corrente. Si prega di rivedere la traccia dello stack per ulteriori informazioni sull'errore e sulla sua origine nel codice. Dettagli eccezione: System.NullReferenceException: riferimento oggetto non impostato su un'istanza di un oggetto.Errore Fonte: Linea 2: Linea 3: Linea 4: Home> Progetto @ (Model.ProjectID ?? Guid.NewGuid()) Linea 5: Linea 6: Cliente: @ Model.CreatedBy – user2189168

+0

Hai aggiornato la domanda con il tuo codice ma hai ottenuto lo stesso errore – user2189168

+0

@ user2189168 Stai passando null per vedere, guarda la risposta aggiornata – webdeveloper

0

Mettendo

@model DreamTrade.Web.DALNew.Source 

nella parte superiore della visualizzazione, si sta facendo una vista fortemente tipizzato che si aspetta un modello di quel tipo.

Tuttavia, nel controller, si sta passando un modello di tipo Orderviewmodel

È necessario assicurarsi che il modello si passa alla vista è del tipo giusto.

+0

Aggiornamento della vista come già menzionato ma lo stesso errore – user2189168

Problemi correlati