对象引用未设置为对象(从View调用Razor模型)

时间:2013-08-24 00:39:20

标签: c# asp.net-mvc asp.net-mvc-4 razor

使用C#MVC4

我的观点:

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

我的模特:

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方法或我的模型。

2 个答案:

答案 0 :(得分:26)

如果没有看到您的控制器操作,我的猜测就是您的模型为空。

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

return View(new UserModel());

而不是:

return View();

答案 1 :(得分:3)

返回特定Model时,您必须在Controller操作中传递View

return View(new Model());