MVC'de basit ajax formum var. AjaxOptions'da bir şey yapan basit javascript işlevine OnComplete ayarlanmış, false döndürür.OnComplete ile Ajax.BeginForm her zaman güncelleştirir sayfa
@using (Ajax.BeginForm("Action", "Controller", new AjaxOptions { UpdateTargetId = "DivFormId", HttpMethod = "Post", OnComplete = "preventUpdate" }))
function preventUpdate(xhr) {
return false;
}
Sorun şu ki, bu sayfa zaten güncelleştirildi. Örneğin. Bir durumda denetleyici, geri gönderildikten sonra kısmi görünüm döndürür, diğer durumda, bazı Json nesnesini döndürür. Kısmi görünüm döndüğünde sayfayı güncellemek ve json döndüğünde iletişim penceresini göstermek istiyorum. Ne yazık ki json döndüğü zaman, MSDN derlediğinde OnComplete işlevi false döndürse bile sayfayı temizler (json ile günceller): Sayfa güncellemesini iptal etmek için JavaScript işlevinden false döndürün.
Alınan yanıtlara bağlı olarak sayfa güncellemesi nasıl önlenir?
Teşekkür ederiz!
----- GÜNCELLEME -------
Şimdiye kadar aşağıdaki çözüm buldum. UpdateTargetId'yi belirtmediğimde, istediğim yanıtla el ile yapabilirim. Fakat yine de yanlış geri dönüşlü davranışlar belgelenmemiştir.
Belki de bu yardımcı olacaktır, ayrıca (Bu durum böyle değil ilk açıklama http://stackoverflow.com/a/1357151/985284 –
bakmak ama emin olmak için, bu iki yöntemi de denedim). Bu OnBegin, OnComplete, ... gibi olaylarla Ajax.BeginForm için MS işleme ... Ve MSDN doc göre OnComplete yanlış döndürerek durdurmak mümkün olmalıdır. –