我有一个基于EpiServer MVC的项目。 PageContoller之一有两种方法:
[HttpGet]
public ActionResult Create()
{
var model = new Models.Comment {Time = DateTime.Now};
return View(model);
}
[HttpPost]
public ActionResult Create(Models.Comment comment)
{
if (comment != null)
{
CommentsContainer.Add(comment);
}
else
{
var x = new Models.Comment
{
User = "No user",
Body = "No text",
Time = DateTime.Now,
};
CommentsContainer.Add(x);
}
return RedirectToAction("Index");
}
[HttpGet]方法有这个视图:
@using EPiServer.Globalization
@model EPiServer.Templates.Alloy.Models.Comment
@{
Layout = null;
}
@using (Html.BeginForm(null, null, new { language = ContentLanguage.PreferredCulture.Name }, FormMethod.Post))
{
@Html.LabelFor(model => model.User, "User")
@Html.EditorFor(model => model.User)
<br /><br />
@Html.LabelFor(model => model.Body, "Text")
@Html.EditorFor(model => model.Body)
<br /><br />
<input type="submit" value="Add" />
}
但[HttpPost]参数始终为null。谁知道,怎么解决这个问题?
答案 0 :(得分:0)
您可以发布模型类型的代码吗?确保用户,正文和时间都有公共属性。
答案 1 :(得分:-1)
所以问题就是Model实现了IContent接口。创建单个ViewModel就解决了这个问题。