2009-08-18 2 views
1

У меня возникла проблема с введением списка объектов int в объект. Контроллер выглядит так:Вставить список int's

public ActionResult Edit(int productID) 
    { 
     //ProductEditViewModel pm = new ProductEditViewModel(); 

     Product product = _pr.GetProducts().ByProductID(productID).First(); 
     product.Categories.Load(); 
     //ICollection<Category> allCategories = _cr.GetCategories().ToList(); 

     List<SelectListItem> Categories = (from category in _cr.GetCategories().ToList() 
              join pc in product.Categories 
              on category.CategoryID equals pc.CategoryID into j 
              select 
              new SelectListItem 
              { 
               Selected = j.Any(), 
               Value = category.CategoryID.ToString(), 
               Text = category.Categoryname 
              }).ToList(); 

     ViewData["allCategories"] = Categories; 

     return View("Edit", new ProductEditViewModel { Product = product }); 
    } 

    // 
    // POST: /Products/Edit/5 

    [AcceptVerbs(HttpVerbs.Post)] 
    public ActionResult Edit(Product product, int[] CategoryID) 
    { 
     try 
     { 
      // TODO: Add update logic here 

      return RedirectToAction("Index"); 
     } 
     catch 
     { 
      return View(); 
     } 
    } 

Как обновить/вставить весь список идентификаторов категорий для "product.Categories"?

И должен ли я иметь что-то еще, а не «int [] CategoryID»?

Заранее спасибо /M

+0

Является этим LINQ to SQL который вы используете? Мне кажется, что ваш вопрос больше связан с используемой вами технологией доступа к данным, чем с ASP.NET MVC, поэтому могу ли я предложить вам немного расширить эту тему и, возможно, повторить свой вопрос? –

ответ

1

Я не вижу, как на ваш взгляд выглядит так, что является ключевым моментом.
Вашего мнение должно генерировать HTML похоже на это:

<input type="hidden" name="CategoryId[0]" value="123" /> 
<input type="hidden" name="CategoryId[1]" value="456" /> 
<input type="hidden" name="CategoryId[2]" value="789" /> 

Обратите внимание, что индекс не должен иметь отверстие, и вы, вероятно, флористика типа входа вместо скрытых.

Смежные вопросы