Quantcast
Channel: ASP.NET Core
Viewing all articles
Browse latest Browse all 9386

How to add a list item to a property of type IEnumerable ?

$
0
0

I want to create an `ActionResult` to add a new record.
I plan to use the  [HttpPost] `ProductEdit(Product model)` method.

Question.
How to add a list item to a property of type IEnumerable <T>?
Or how to make this decision simpler?

Product.cs

public class Product
    {
        public int ID { get; set; }
        public string Name { get; set; }
        public string Description { get; set; }

    }

MockProduct.cs

public class MockProduct
    {
        List<Product> productList;

        public MockProduct()
        {
            productList = new List<Product> 
            {
                new Product {ID = 1, Name = "Name_1", Description = "Description_1"},
                new Product {ID = 2, Name = "Name_2", Description = "Description_2"},
                new Product {ID = 3, Name = "Name_3", Description = "Description_3"},
            };

        }

        public IEnumerable<Product> ProductList
        {
            get
            {
                return productList;
            }
            set
            {
                productList.Add(value as Product);
            }    
        }
    }



HomeController.cs

public class HomeController : Controller
    {
        MockProduct mckProduct;
        public HomeController()
        {
            mckProduct = new MockProduct();
        }

        public IActionResult Index()
        {
            var model = mckProduct.ProductList;

            return View(model);
        }

        public IActionResult ProductEdit()
        {
            Product model = new Product();
            return View(model);
        }

        [HttpPost]
        public IActionResult ProductEdit(Product model)
        {
            // ????? 
            mckProduct.ProductList.Append(model);

            var v = mckProduct.ProductList;

            return View(model);
        }

Edit.cshtml

@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

@using WebApplCore.Models
@model Product
<head><link href="~/css/bootstrap.min.css" rel="stylesheet" type="text/css" /></head><h3>*** Edit Page ***</h3><body><div><form asp-controller="Home" asp-action="ProductEdit" method="post" ><input type="hidden" asp-for="ID" /><div asp-validation-summary="All"></div><div><label asp-for="Name"></label><input asp-for="Name" /><span asp-validation-for="Name"></span></div><div><label asp-for="Description"></label><textarea asp-for="Description"></textarea><span asp-validation-for="Description"></span></div><input type="submit" value="Сохранить" /></form></div><script src="~/js/bootstrap.min.js"></script><script src="js/jquery-2.1.4.min.js"></script></body>




Viewing all articles
Browse latest Browse all 9386

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>