Asp.Net MVC ile top...
 
Bildirimler
Hepsini Temizle

Asp.Net MVC ile toplu kayıt işlemi  

  RSS
Barış Günaçar
(@BarisGunacar)
Üye

Merhaba Arkadaşlar,

 

Yapmak istediğim olay örn: Bir yerden api veya başka birşey vasıtasıyla 8-10 tane civarında kayıt çekiyorum. Bu kayıtları @model IEnumerable<Onizleme.Models.Customers> olarak View sayfamda gösteriyorum ve bu sayfanın altına 1 tane submit buton koyuyorum. İstiyorum ki butona bastığım zaman gitsin bu modelde gösterdiğim kayıtların hepsini ilgili tabloya kayıt etsin.

View içeriğinde gösterirken Textbox yapmak istemiyorum kötü duruyor. Normal tablo gibi görünsün, kaydet dediğimde gitsin kayıt etsin bu modeldeki verileri. Fakat IEnumerable tipindeki modeli bir türlü View'dan Controller'a gönderemedim.

View içeriği şu şekilde : 

@model IEnumerable<Onizleme.Models.Customers>

@{
ViewBag.Title = "Kayit";
}

<h2>Müşteriler</h2>
@using (Html.BeginForm("Kaydet","Home", FormMethod.Post))
{
@Html.AntiForgeryToken()

<table class="table table-bordered">
<tr>
<th>Firma ID</th>
<th>Firma Adı</th>
<th>Şehir</th>
<th>Detay</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>@item.ID</td>
<td>@item.SHORT_NAME</td>
<td>@item.CITY_NAME</td>
<td>Güncelle</td>
</tr>
}
</table>
<input type="submit" value="Kaydet" class="btn btn-success btn-sm" />
}

 

Teşekkürler, İyi Çalışmalar.

 

Alıntı
Gönderildi : 03/02/2017 13:03
Erdem SELÇUK
(@eravse)
Saygın Üye Forum Yöneticisi

aşağıdaki şekilde modeli create eventine gönderip onun içinde dönerek yada bulk insert yaparak ekleme yapabilirsiniz.

 

[HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult Create(IEnumerable<Onizleme.Models.Customers> model)
        {

   foreach (var item in model)
                {

/// save işlemi

}

}

ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com

CevapAlıntı
Gönderildi : 03/02/2017 13:08
Barış Günaçar
(@BarisGunacar)
Üye

Merhaba hocam,

 

İlk dediğin şekilde olmuyor. View 'dan controller'a model gitmiyor. Controllerda Breakpoint koyup parametre kısmındaki model'e baktığım zaman count=0 gözüküyor. Veri View kısmından controller'a geçmiyor. View ve Controller'daki ilgili bölümler aşağıdaki gibi..

VİEW

@model IEnumerable<Onizleme.Models.Customers>
@{
ViewBag.Title = "Kayit";
}

<h2>Müşteriler</h2>
@using (Html.BeginForm("Kaydet","Home", new { model = Model }, FormMethod.Post))
{
@Html.AntiForgeryToken()

<table class="table table-bordered">
<tr>
<th>Firma ID</th>
<th>Firma Adı</th>
<th>Şehir</th>
<th>Detay</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>@item.ID</td>
<td>@item.SHORT_NAME</td>
<td>@item.CITY_NAME</td>
<td>Güncelle</td>
</tr>
}
</table>
<input type="submit" value="Kaydet" class="btn btn-success btn-sm" />
}

CONTROLLER

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Kaydet(IEnumerable<Onizleme.Models.Customers> model) // MODEL.COUNT=0 GÖZÜKÜYOR BURADA.
{
return View();
}

 

CevapAlıntı
Gönderildi : 03/02/2017 13:42
Erdem SELÇUK
(@eravse)
Saygın Üye Forum Yöneticisi

çünkü bu kısım yanlış

<tr>
<td>@item.ID</td>
<td>@item.SHORT_NAME</td>
<td>@item.CITY_NAME</td>
<td>Güncelle</td>
</tr>

 

burada donerken bu ıtem ı tekrar new instance ile modele eklemen lazım eklersen modelı gonderebılırsın

 

saygılar

 

ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com

CevapAlıntı
Gönderildi : 03/02/2017 13:52
Barış Günaçar
(@BarisGunacar)
Üye

[quote user="Erdem Avni SELÇUK"]

çünkü bu kısım yanlış

<tr>
<td>@item.ID</td>
<td>@item.SHORT_NAME</td>
<td>@item.CITY_NAME</td>
<td>Güncelle</td>
</tr>

 

burada donerken bu ıtem ı tekrar new instance ile modele eklemen lazım eklersen modelı gonderebılırsın

 

saygılar

 

[/quote]

Bu dediğin kısmı pek anlayamadım hocam, bizim modelimiz zaten dolu değil mi ? Niye tekrardan dolduracağız? ve View kısmındamı ekleme yapacağız?

CevapAlıntı
Gönderildi : 03/02/2017 14:20
Erdem SELÇUK
(@eravse)
Saygın Üye Forum Yöneticisi

Bunu bir önceki postta sen söyledin breakpoint koyduğunu ve modelin boş geldiğini yanlış mı okudum acaba ? modeli bind ediyorsun for eachle donuyorsun html form submitte modeli tekrar göndermiş durumdasın modeli methoda gönderirken değişken ismin model olarak gidiyor zannedersem debug etmek gerekebilir. orayı bır kontrol edermisin chrome ile f12 ye basarakta post ıslemınde verının gıdıp gıtmedıne bakarmısın ?

saygılar

 

ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com

CevapAlıntı
Gönderildi : 03/02/2017 14:26
Paylaş: