Asp.net mvc 3 Asp.net mvc创建新记录
我一直在努力增加一张新唱片Asp.net mvc 3 Asp.net mvc创建新记录,asp.net-mvc-3,Asp.net Mvc 3,我一直在努力增加一张新唱片 public ActionResult Create() { var dc = new ServicesDataContext(); ViewData["CustomerID"] = TempData["CustomerID"]; var a = dc.services.Select(arg => arg.ServiceID).ToList(); ViewData["ServiceID"] =
public ActionResult Create()
{
var dc = new ServicesDataContext();
ViewData["CustomerID"] = TempData["CustomerID"];
var a = dc.services.Select(arg => arg.ServiceID).ToList();
ViewData["ServiceID"] = new SelectList(a);
var model = new Maping();
return View(model);
}
//
// POST: /Customerservice/Create
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create([Bind(Exclude ="CustomerServiceMappingID")] Maping serviceToCreate)
{
if (!ModelState.IsValid)
return View();
var dc = new ServicesDataContext();
dc.Mapings.InsertOnSubmit(serviceToCreate);
dc.SubmitChanges();
return RedirectToAction("Index", "Home");
}
现在的情况是tempdata具有正确的值,但在我提交更改时,customerID结果为null。因此,请帮助我解决这个问题。我知道您将客户id从TempData复制到ViewData。但是,在请求结束后,ViewData的内容将不会保留。在您看来,您应该将客户id输入到一个输入中,例如,如果不应显示该id,则应将其放在隐藏字段中,以便在您的post操作中恢复该id。 如果使用强类型模型,则不应使用ViewData,而应在模型实例上设置客户id。然后在视图中,您可以使用Html.HiddenForm=>m.CustomerId来保留此id。 我希望我没有误解这个问题,不幸的是,在post操作中客户id为null的代码片段中,它并不是真正可见的