我是ASP.NEt MVC的新手。我一直在尝试创建一个新的数据库记录。
public ActionResult Create()
{
var model = new Maping();
return View(model);
}
//
// POST: /Customerservice/Create
[HttpPost]
public ActionResult Create([Bind(Exclude="CustomerServiceMappingID")] Maping serviceToCreate)
{
if (!ModelState.IsValid)
return View();
var dc = new ServicesDataContext();
String s = serviceToCreate.ServiceID.ToString();
if (String.IsNullOrEmpty(s))
ModelState.AddModelError("ServiceID", "ServiceID is required!");
dc.Mapings.InsertOnSubmit(serviceToCreate);
dc.SubmitChanges();
return RedirectToAction("Index","Home");
}
所以,我需要做的是我需要ServiceID成为强制性的...我尝试了这个并没有多大用处。那么,请你帮帮我吗?
另外,我需要将tableID的另一列customerID发送回Index方法。
答案 0 :(得分:0)
如果ServiceId是整数,则应自动要求它。否则,您可以将此属性放在模型类中的ServiceId上。
[Required] public string ServiceId {get;set;} //assuming you are using a string
你可以张贴你的模特吗?
答案 1 :(得分:0)
两件事......
1) 您需要将Is Null = false添加到数据库模型中,以便当DataContext尝试将新记录保存起来时,如果设置了这些属性或者您需要提供一个新ID,它将创建一个新ID。
2) 向Maping模型添加一个属性,告诉MVC您在Create Action中抛出的错误。
[Required]
public int ServiceID // <- replace with the correct type.
如果你的指数行动是这样的......
public ActionResult Index(int customerID), then you can send it with the RedirectToAction.
new { customerId = /* insert ID here */ }
我认为是该方法调用中的第三个参数。