2013-02-10 23 views
9

.NET mvc konusunda yeni kulüpler. "Afunc" -Eylem modeli kaydeder kısmi görünümü "DisplayPartial" Ben şu andaGönderme tamamlandıktan sonra kısmi görünümü güncelle Ajax.Beginform

@using (Ajax.BeginForm("Afunc", new AjaxOptions())) 
{ 
    @Html.EditorFor(model => model.AstringThing) 
    @Html.EditorFor(model => model.AintThing) 

    <input type="submit" name="submit" value="Ajax Post" /> 
} 

var ise

@foreach (var thing in Model) 
{ 
    @Html.Partial("DisplayPartial", thing) 
} 

: Bir görünümde

"DisplayThings" Ben böyle bir şey var veritabanına ve ardından tüm "şeyleri" veritabanından almak ve "Gösterimleri" Görünümü'nü oluşturmak için bir denetleyici eylemine yönlendirir.

Soruma şu sorularım var: Gönderen düğmelerden birine bastığımda (Listedeki her şey için bir tane gönderim var). Değişikliğimi yeniden yüklemek/yansıtmak için yalnızca kısmi görünüm istiyorum. Tüm "Görünümler" görünümünü yeniden yüklemek istemiyorum. Bunu nasıl yaparım? Eğer kısmi bir görüşe geri dönersem, her şeyimi kaybederim ama bu kısmi görünüm.

Bu kötü bir yaklaşımsa lütfen bana yol tarifini verin.

Güncelleme: Ben yeni bir sayfada verilen kısmi bir görünümünü elde gibi ben hala yanlış bir şey yapıyorum

. Benim denetleyicisi:

public ActionResult Afunc(ThingModel thingmodel) 
{ 
    // do 

    return PartialView("DisplayPartial", thingmodel); 
} 

ben sadesin şimdi new AjaxOptions olarak geçiyoruz AjaxOptions yılında UpdateTargetId ve aynı sonucu onSuccess her ikisi (yeni bir sayfa)

cevap

12

kullanarak denedi kullandığınız hedef elemanı belirtebilirsiniz UpdateTargetId özelliği:

<div id="unique_thing_id"> 
@using (Ajax.BeginForm("Afunc", new AjaxOptions { UpdateTargetId = 'unique_thing_id' })) 
{  
} 
</div> 

şeyden önce, her "şey" için benzersiz kimliğe sahip bir kap <div id="unique_thing_id"> ile temsil edilmektedir. Bu isteğin yerine geçecek. Kısmi sadece "şey" i oluşturmak için Afunc değiştirin.

+3

Kaybettiğim bir şeyi işaretlediğiniz için size cevap vereceğim. Ancak THat, kaçırdığım 2 şeyden sadece biriydi. Yaygın bir konu, (net sörf yaptıktan sonra) bunu düzen sayfanıza eklemektir: Andreas

+0

@manojlds Yeni bir soru açtım, lütfen şu adresten bir göz atın (http://stackoverflow.com/questions/30868493/form-reload-but-partialview-cannot-with-ajax-in -mvc? noredirect = 1 # comment49779357_30868493) soru? –

İlgili konular