MVC将表单发送到页面进行测试

时间:2013-02-21 10:34:16

标签: asp.net-mvc asp.net-mvc-3 actionresult

我正在使用MVC并且有一个包含表单的视图(test.cshtml)。有没有办法将其发送到另一个视图page.cshtml进行测试而不是相同的[http]控制器ActionResult test()

我正在尝试在更新db之前验证所有表单字段值是否正确。有更简单的方法吗?

1 个答案:

答案 0 :(得分:0)

在你看来

@using (Html.BeginForm("Add", "Weight", FormMethod.Post))    
//where "Add" is the Action name and Weight is the controller (WeightController) -> http://foo/Weight
{
......
}

使用模型

public class WeightModel
{
    [Required] public string Description { get; set; }
    [Required] public int Weight { get; set; }
    public string Notes { get; set; }
}

在您的控制器

    [HttpPost]
    public ActionResult Add(WeightModel model)
    {
        if (!ModelState.IsValid) //framwork will validate based on attributes on model
        {
            return View("Index", model);
        }
        else
        {
            //save to db
            return RedirectToAction("Added");
        }
    }