içinde denetimler ve gönderme formu (Html.BeginForm) olan her döngü için benim görünüm modelimde, bir nesne listesi var. Bu nesneleri yineliyorum ve her biri için kontroller oluşturuyorum. Aşağıdaki durumda, insanlara her nesne için bir metin kutusu ve bir düğme göstermek istiyorum. Kullanıcı düğmeyi tıkladığında, bir gönderi yapılır ve verileri kontrolöre kaydedebilirim. Kullanıcı Arabiriminde, kullanıcı istediği formu değiştirebilir ve kaydet'i tıklatabilir.MVC 4
using (Html.BeginForm())
{
foreach (var contributor in Model.Contributor)
{
@Html.HiddenFor(model => contributor.Id)
<div class="formrow">
@Html.ValidationSummary(true)
</div>
<h2>@Html.TextRaw("AuthorInfo", "Author")</h2>
<div class="formrow">
@Html.EditorFor(model => contributor.FirstName)
<div class="formvalidation">
@Html.ValidationMessageFor(model => contributor.FirstName)
</div>
</div>
<div class="formrow right">
<input type="hidden" name="formsubmitted" value="true" />
<input type="submit" class="button" value="@Html.Text("ButtonText", "Save")" />
</div>
}
}
Bence modeli kodu
public class ProfileModel
{
public string Message { get; set; }
public List<PublisherModel> Publisher { get; set; }
public List<ContributorModel> Contributor { get; set; }
public ContributorModel NewContributor { get; set; }
}
:
Sorunum
Benim Jilet kodu .. o kontrolöre Gönderilen modeli null olduğu Denetleyici kodum
[HttpPost]
public ActionResult Mine(ProfileModel model, string newuser)
{
//
}
Nasıl düzeltilir?
Görünüm modelimi, değişiklikleri bir şekilde saklamanın bir yolu ile genişletmem gerekiyor. Ama nasıl olduğunu gerçekten göremiyorum.
Şu anda ProfileModel'deki tüm özellikler denetleyiciye ulaştığında boştur.
Herhangi bir fikrin var mı?
hala boş midir? –
"@ Html.EditorFor (model => contributor.FirstName) için oluşturduğunuz html dosyanızı yayınlayabilir misiniz? –
Somethings tam olarak orada görünmüyor, VIEW içindeki model ContributorModel Listesi'dir, ancak yayınlanan model (HttpPost) ProfileModel? Onun düzenleme/görüntüleme ile aynı model türü değil! – Zeddy