私は知っている、たくさんの質問があり、解決策を試してみました。基本的に、私はこだわっている...ModelBinderは、ある特定のViewModelのnullを返します
ViewModel:
public class CreateStrengthViewModel
{
public string Strength { get; set; }
public IEnumerable<Categories.CategoryViewModel> Categories { get; set; }
public int Category { get; set; }
}
Post:
-----------------------------7e01e1381a08c2
Content-Disposition: form-data; name="__RequestVerificationToken"
iErDomlK5vCWAFFMlGkb2-HgLCoquxfeIlYeI3pmrsW_5VSD8-huS6JbCdA4OAg4s8nMgqKAHPHArVoQ3GzfFWf2I-Yx6iWgvkWRNI6jiKA1
-----------------------------7e01e1381a08c2
Content-Disposition: form-data; name="Strength"
FMC Extra
-----------------------------7e01e1381a08c2
Content-Disposition: form-data; name="Category"
1
-----------------------------7e01e1381a08c2--
Controller:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(
[Bind(Include = "Strength,Category")]
CreateStrengthViewModel strength)
{
using (StrengthServices service = new StrengthServices(new ImperialTobacco_Database()))
{
//service.CreateAndSave(strength);
...
}
}
}
は、コントローラのメソッド内の強さは、私がやっているものは何でもnullです。あなたが見ることができるように、ブラウザはデータを送信しますが、ModelBinderは何もしません。ああ、ところで:非常に同じコードは、さまざまなIncludeフィールドを持つ別のViewModelで動作します。ええ、私はバインドを削除しようとしましたが、何も変わりません。
面白いのは、これは動作しています:
public class CreateCompanyViewModel
{
public string Name { get; set; }
public string Color { get; set; }
public IEnumerable<MarketViewModel> MarketsOfOperations { get; set; }
public IEnumerable<int> SelectedOperations { get; set; }
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "Name,Color,SelectedOperations")] CreateCompanyViewModel company)
{
using (CompanyServices service = new CompanyServices(new ImperialTobacco_Database()))
{
service.CreateAndSave(company);
return RedirectToAction("Index", "Management");
}
}
を私は何が起こっているか見当がつかないと、なぜModelBinderはほとんど同じ1は完璧に動作し、特にとして、ポストされたデータから何をピックアップしていない、正直なところだろう。
P .:私はプロパティとバインドの名前を変更しようとしましたが、もう一度幸運はありません。
が重複する可能性を解決します:なぜ私の見解は、NULLを渡しています私のコントローラに戻ってモデル?](http://stackoverflow.com/questions/34863167/asp-net-mvc-why-is-my-view-passing-null-models-back-to-my-controller) –