如何解决Asp.net mvc创建新记录
| 我一直在尝试添加新记录。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\");
}
现在的情况是,临时数据具有正确的值,但是到我提交更改时,customerID变为空。因此,请帮助我解决此问题。
解决方法
AFAI了解您将客户ID从TempData复制到ViewData。但是,请求结束后,将不会保留ViewData的内容。在您的视图中,您应该将客户ID放入输入中(例如,如果不显示则为隐藏字段),以将其返回到您的后期操作中。
如果使用强类型模型,则根本不要使用ViewData,而应该在模型实例上设置客户ID。然后,您可以在视图中使用ѭ1来“保留”此ID。
希望我不要误解这个问题,不幸的是,它在代码片段中并不真正可见,因此您在post操作中将有一个客户ID为null。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。