Mysql
 sql >> база данни >  >> RDS >> Mysql

Asp.Net MVC - Вмъкване на множество редове в базата данни

Ако разбирам правилно, имате списък с атрибути във вашия модел на изглед.

Така че, ако искате да работите с него, трябва да го поставите в списъка.

Така че трябва да промените своя модел на изглед:

//I put all properties of your list to separate model
public class AttriduteViewModel
{
    public int ProductColorVariantId { get; set; }
    public int ProductSizeVariantId { get; set; }
    public int ProductSizeVariantValueId { get; set; }
    public int ProductAttributeId { get; set; }
    public int ProductAttributeValueId { get; set; }
    public int? Quantity { get; set; }
}

public class ProductAttributesViewModel
{
    public Product Product { get; set; }
    public ProductAttribute ProductAttribute { get; set; }
    public ProductAttributeValue ProductAttributeValue { get; set; }
    public int ProductId { get; set; }
    public string Name { get; set; }
    [AllowHtml]
    public string Description { get; set; }
    public decimal? Price { get; set; }
    public string Sizes { get; set; }
    public int Stock { get; set; }
    //note this line
    public List<AttriduteViewModel> AdditionalAttridutes {get; set;}
}

Това е общо взето всичко. Сега трябва да направите правилно обвързване само за вашите AdditionalAttridutes . Ще бъде по-лесно да го направите с HtmlHelpers като Html.DropDownListFor , Html.HiddenFor и Html.TextBoxFor . Просто не мога да го видя във вашия изглед.

Въпросът е, ако създадете своя input с Помощници те ще получат правилното name Атрибутът и вашият модел ще се свържат правилно при POST .

Друго нещо, с което ще се сблъскате, е динамичното създаване на нови елементи, както във вашия пример. Трябва да помислите за правилния атрибут на име. Съветвам ви да проверите този страхотен отговор за този проблем.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Хибернация, свързване на две таблици и генериране на json отговор в пролетна спокойна уеб услуга?

  2. Свържете се с онлайн MySQL база данни от localhost

  3. Подреждане по най-добро съвпадение в eloquent

  4. Изберете родителски ред само ако няма деца

  5. Вмъкване на подниз в низ при конкретен индекс, броене от края. Как в mysql?