我有一个表
post(p_id,u_id(FK),date,title,type,viewer)和一个带有(p_id,u_id,日期,标题,类型)的Modelclass UserModel.cs。当我在帖子控制器中创建一个新帖子时我试过
public ActionResult Create(PostModel p) {它没有工作。我认为从提交时不提交始终返回视图。我已经创建了stronly类型的创建视图。在create.cshtml中,我有两个隐藏字段user_id和postModel对象的日期。我是MVC的新手。请事先帮助我...if (ModelState.IsValid) { p.date = DateTime.Today; post post = new Models.DB.post(); post.u_id = User.Identity.Name; post.date = p.date; post.title = p.title; post.type= p.type; post.viwer=1; try{ db.posts.AddObject(post); db.SaveChanges(); return RedirectToAction("LoggedIndex"); } catch{ return RedirectToAction("Index"); } } return View(p); }
答案 0 :(得分:0)
使用MVC模型将数据从视图发送到控制器
我理解为:你有一个mvc3页面,想要向控制器发送一些自定义数据:
<强>控制器:强>
[http-post]
public ActionResult Create(PostModel p)
{
if (ModelState.IsValid)
{
p.date = DateTime.Today;
post post = new Models.DB.post();
post.u_id = User.Identity.Name;
post.date = p.date;
post.title = p.title;
post.type= p.type;
post.viwer=1;
db.posts.AddObject(post);
db.SaveChanges();
return RedirectToAction("LoggedIndex");
}
return View(p);
}
public ActionResult Create()
{
return View(new post());
}
查看:强>
@model post
@using (Html.BeginForm("Create", "Controller-Name", FormMethod.Post, new { id = "FORM" }))
{
@Html.EditorFor(model => model.date)
@Html.EditorFor(model => model.name)
@Html.EditorFor(model => model.title)
@Html.EditorFor(model => model.type)
}
更多信息:http://weblogs.asp.net/scottgu/archive/2010/07/27/introducing-asp-net-mvc-3-preview-1.aspx