MVC3 - razor:传递查询字符串时出错

时间:2012-06-18 11:41:16

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

我是MVC3剃须刀的新手。任何人都可以帮助我,为什么我在运行中收到此错误。

错误: Object reference not set to an instance of an object. 它在ActionLink上打破了。

HTML代码:

@model Solution.User

@using (Html.BeginForm())
{
    @Html.TextBoxFor(model => model.Name, new {@id = "name-ref", @class = "text size-40"})
    @Html.ActionLink("Go Ahead", "Index", "Home", new {name = Model.name, @class = "button" })
}

控制器

[HttpPost]
public ActionResult Index(string name)
{
    return View();
}

非常感谢

1 个答案:

答案 0 :(得分:3)

您尚未向视图提供模型。

定义一个类作为视图模型

public class User
{
    public string Name { get; set; }
}

在控制器的行动中:

[HttpPost]
public ActionResult Index(User model)
{
    return View(model);
}

MVC的模型绑定器将自动为参数model创建一个实例,并将name值绑定到User.Name

修改您的视图提到了一个名为User的模型。我改变了我的回答以反映这一点。