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。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...