Обязательное поле при создании новой записи базы данных в asp.net mvc - PullRequest
0 голосов
/ 10 июня 2011

Я новичок в 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 стал обязательным ... Я попытался сделать это без особого использования.Итак, можете ли вы мне помочь?

Также мне нужно отправить идентификатор клиента, который является еще одним столбцом таблицы, обратно в метод индекса.

Ответы [ 2 ]

0 голосов
/ 10 июня 2011

Две вещи ...

1) Вам необходимо добавить Is Null = false в вашу модель базы данных, чтобы, когда DataContext попытался сохранить новую запись, он либо создал новуюИдентификатор, если эти атрибуты установлены или вам необходимо предоставить один.

2) Добавьте атрибут в вашу модель Maping, который сообщает MVC об ошибке, которую вы выдаваете в действии Create.

[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 */ }

, который, как я считаю, является третьим параметром в вызове этого метода.

0 голосов
/ 10 июня 2011

Если ServiceId является целым числом, оно должно быть запрошено автоматически.В противном случае вы можете поместить этот атрибут в ServiceId вашего класса модели.

[Required]
public string ServiceId {get;set;} //assuming you are using a string

Можете опубликовать свою модель?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...