2013-04-18 27 views
6

Bu küçük sorunum var ... Bu asp.net web sitesine sahibim. Hepsi html ve css ile yapılmış bir menüm var. Evime tıkladığımda ajax, diğer içeriği belirtilen div öğesine yükler. % 100 çalışıyor.jQuery AJAX ve ASP.NET

Div öğesine yüklenen içerikte, bir düğmem var. Bir ASP.NET düğmesi.

Düğmeye tıkladığımda bana "Kaynak bulunamadı." hata.

Eksik olduğum bir şey olmalı. içerik div içine yüklendi

//Load the Home page on click. 
$(document).ready(function() { 
    $('.home').click(function() { 
     $("#content").load("html/home/home.aspx"); 
    }); 
}); 

Şimdi aspx sayfası, bir düğme görüntüler, btnAdd: Eğer heres ajax anlamıyorum Eğer

<asp:Panel ID="pnlAddNewBlog" runat="server"> 
    <asp:TextBox ID="txtAddNewBlog" runat="server" TextMode="MultiLine"></asp:TextBox> 
    <br /> 
    <asp:Button ID="btnAdd" runat="server" Text="Add" /> 
</asp:Panel> 

O butonuna tıklayın

, hata belirir.

Elde etmek istediğim şudur: kullanıcı düğmeyi tıkladığında, txtAddNewBlog içindeki metin bir veritabanına eklenir. Şimdi bu C# kullanarak elde edebilirim ... ama bu hata benim yolumda değilse. Herhangi bir fikir?

+0

'html/home/home.aspx' var mı? Tarayıcının gönderdiği ağ isteğini incelemeyi deneyin. Var olduğundan emin olmak için o URL'ye gidin. – Danny

+0

evet, var, çünkü ajax home.aspx içerisindeki tüm içeriği #content'e yüklüyor ve görebiliyorum. ama bottona tıkladığımda. Ajax içeriği yüklemediğim zaman bu çalışır ... ama ajax geldiğinde artık işe yaramıyor –

+1

'# content' başka bir formun içine yerleştirilmiş mi? Eğer öyleyse, diğer sayfayı yüklediğinizde html yapısını bozarsınız. – Aristos

cevap

1

Sorun, oluşturulmakta olan form olacaktır. Bu isteği yaptığınızda, ASP.NET, hedefi tam olarak değil, hedefi home.aspx olan bir form oluşturur. Ancak bu formu farklı bir düzeyde olan bir HTML sayfasına döküyorsunuz.

Bir form gönderimi yaptığınızda, tarayıcının nerede olduğunu düşündüğü yere göre home.aspx adresine göndermeye çalışır ve bu iki düzey yukarı çıkar ve bulamaz.

Bunu yapmak için iyi bir yol olup olmadığını bilmiyorum - ASP.NET bu tür bir şeyi işlemek anlamına gelmez. Bir IFRAME yapabilirsiniz. home.aspx içeriğini bir kullanıcı denetimine sarabilir ve ASP.NET formunu dış sayfada bırakabilirsiniz. Veya formun hedefini manipüle edebilir, böylece doğru yere gönderebilirsiniz. Ama bunların hiçbirinin eğlenceli olacağını düşünmüyorum.

+0

Yani web formları oluşturmak ve sadece "Response.Redirect" onları oluşturmak ve tüm sayfayı yeniden yüklemek daha iyidir ??? –

+0

Benim düşüncem, evet, mevcut mimariyle, en iyi ihtimalle AJAX-ify'den ziyade yönlendirme yapmak olurdu. Kullanıcı sayfa yeniden yüklemeleri ile uğraşmak zorundadır, ancak web'in çoğu hala bu şekilde çalışır. Bunu önlemek istiyorsanız, ASP.NET WebForms sayfa yaşam döngüsü olmadan bir çözüm oluşturmanızı öneriyorum - tek sayfalık uygulamalar genellikle çok javascript yoğun, bu yüzden mimari geleneksel bir WebForms uygulamasından çok farklı olurdu. Sunucu kodunuz, müşteri kodu için gezinmeyi bırakarak geleneksel işaretlemeyi ve yayınları oluşturmayı başarabilir. –