关于C#:对象引用未设置为对象(从视图调用Razor模型)

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

本问题已经有最佳答案,请猛点这里访问。

使用C×MVC4

我的看法是:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@using Universe.Models
@model UserModel
@section css {
<link href="@Url.Content("~/Content/assets/charcreation.css")" rel="stylesheet"/>}
@using (Html.BeginForm("AddUser","Home", FormMethod.Post))
{


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

我的模型:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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;
    }
}

但是,我不断地得到错误:

enter image description here

当我尝试调试它时,它甚至不会进入Html.TextBox方法或我的模型中。


如果看不到你的控制器动作,我猜你的模型是空的。

在控制器中,确保将模型的实例传递给视图。例如:

1
return View(new UserModel());

而不是:

1
return View();

当返回特定的View时,必须在Controller动作中通过Model

1
return View(new Model());