2013-08-24 19 views
8

con C# MVC4oggetto di riferimento non impostato su un oggetto (chiamando modello di rasoio da View)

mio punto di vista:

@using Universe.Models 
@model UserModel 
@section css { 
<link href="@Url.Content("~/Content/assets/charcreation.css")" rel="stylesheet"/>} 
@using (Html.BeginForm("AddUser","Home", FormMethod.Post)) 
{ 

<div class="row-fluid"> 
      <table id="tblBio"> 
       <tr> 
        <td class="span3"> 
         <span class="labeltext">Alias:</span> 
        </td> 
        <td class="span5"> 
         @Html.TextBox(Model.Alias) 
        </td> 
        <td class="span4"> 
         <span class="ui-state-highlight hidden"></span> 
        </td> 
       </tr> 

il mio modello:

public class UserModel 
{ 
    public int Id { get; set; } 
    public string Alias { get; set; } 
    public string Email { get; set; } 
    public string Password { get; set; } 
    public bool IsExternal { get; set; } 


    public UserModel() 
    { 

    } 

    public UserModel(User user) 
    { 
     if (user == null) return; 
     Alias = user.Alias; 
    } 
} 

Ma, io continuo a ricevere il errore:

enter image description here

Quando si tenta di eseguire il debug, non entra nemmeno nel metodo Html.TextBox o nel mio modello.

+2

Per i calci, si può mostrare la vostra azione di controllo ..dove chiami la vista? –

+0

Beh, forse non è davvero impostato su un'istanza di oggetto? Hai controllato se Alias ​​non è nullo? – VsMaX

+0

Quasi tutti i casi di 'NullReferenceException' sono uguali. Per alcuni suggerimenti, vedere "[Cos'è una NullReferenceException in .NET?] (Http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-in-net)". –

risposta

23

Senza vedere l'azione del controller, la mia ipotesi sarebbe che il modello è nullo.

Nel controller, assicurarsi di passare un'istanza del modello alla vista. Per esempio:

return View(new UserModel()); 

Invece di:

return View(); 
3

Devi passare il tuo Model nella vostra Controller azione quando il ritorno della specifica View

return View(new Model()); 
+0

Grazie, era così! – ArjaaAine

Problemi correlati