我试图通过我的视图将对象$q.all()
传递给我的控制器,我不知道该怎么做。
我试图在我的视图中做一个@Model Guy,但那不起作用,所以我没有想法如何将一个对象传递给我的Create方法,而不仅仅是一些变量,因为我不知道想在方法中构建此对象。
根据我从研究中的理解,我必须使用defauldModelBinder来将我的模型绑定到视图中,但是我并不是很清楚如何做到这一点,因为我是一个完整的新手。
有小费吗?如果我的问题太基础,我很抱歉。
我的观点目前看起来像这样:
Guy
我的控制器是这样的:
@using (Html.BeginForm("Create", "Guys", FormMethod.Post))
{
<input type="text" name="id" value="" />
<input type="text" name="title" value="" />
<input type="text" name="content" value="" />
<input type="submit" />
}
我的模特:
static List<Guy> Guys = new List<Guy> { new Guy(1,"phd","hi1"), new Guy(2, "proff", "hi2!"), new Guy(3, "proff.asst.", "hi3") };
public ActionResult Create(Guy obj)
{
Guys.Add(obj);
return RedirectToAction("Index", "Guys");
}
答案 0 :(得分:0)
在模型中定义默认构造函数可能是值得的,否则您可能会收到错误。除此之外,您的代码似乎也有效。
以下是我尝试过的代码:
public class HomeController : Controller
{
// GET: Home
[HttpGet]
public ActionResult Index()
{
return View(Guys.First());
}
static List<Guy> Guys = new List<Guy> { new Guy(1, "phd", "hi1"), new Guy(2, "proff", "hi2!"), new Guy(3, "proff.asst.", "hi3") };
[HttpPost]
public ActionResult Create(Guy obj)
{
Guys.Add(obj);
return RedirectToAction("Index", "Guys");
}}
班级盖伊:
public class Guy
{
public int GuyId { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public Guy()
{
}
public Guy(int GuyId, string Title, string Content)
{
this.GuyId = GuyId;
this.Title = Title;
this.Content = Content;
}
}
和视图:
@model Models.Guy
@using (Html.BeginForm("Create", "Home", FormMethod.Post))
{
<input type="text" name="GuyId" value="" />
<input type="text" name="title" value="" />
<input type="text" name="content" value="" />
<input type="submit" />
}