App.net Mvc5 SelectListItem с текстовой строкой и нулевым значением отправляет текст в качестве значения для публикации - PullRequest
0 голосов
/ 31 октября 2019

У меня есть список выбора в ASP.net MVC5, который показывает ParentProductID в моей модели. Модель выглядит следующим образом:

public class Product
{       
   public int ID { get; set; }
   public string Name { get; set; }
   public int? ParentProductID { get; set;}
   [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
   public virtual ICollection<Product> ChildProducts { get; set; }

   public virtual Product Product1 { get; set; }

}

Я хочу показать первый элемент в выпадающем списке в качестве нулевых значений по умолчанию, когда не хочу выбирать ParentProductID для пользователя, но показать некоторый текст для нулевых значений, например notselected, и добавитьпервый SelectListItem для комбинирования, подобный этому:

ls.Insert(0, new SelectListItem { Text = "notselected", Value = null });

, но когда он достигает

[HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult Create([Bind(Include = "ID,Name,ParentProductID")] Product product)

, он использует «notselected» в качестве значения, выбранного для modelitem. почему?

Но при использовании ниже в контроллере не выдается никакой ошибки, а используется комбо пустое:

ls.Insert(0, new SelectListItem { Text = "", Value = null });
...