Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Object Reference not set to an object (calling Razor model from View) [duplicate]

Using C# MVC4

My View:

@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>

My Model:

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;
    }
}

But, I keep getting the error:

enter image description here

When I try to debug it, it doesn't even go into the Html.TextBox method or into my model.

like image 590
ArjaaAine Avatar asked Aug 24 '13 00:08

ArjaaAine


2 Answers

Without seeing your controller action, my guess would be that your model is null.

In your controller, make sure you are passing an instance of the model to your view. For example:

return View(new UserModel());

Instead of:

return View();
like image 139
htxryan Avatar answered Nov 07 '22 21:11

htxryan


You have to pass your Model in your Controller Action when return the specific View

return View(new Model());
like image 4
imsurya Avatar answered Nov 07 '22 20:11

imsurya