GridView, form etiketinin içinde olsa bile GridView, runat = “server” ile bir form etiketinin içine yerleştirilmelidir. | tutuappapks.com
GridView bile bir runat = "server" etiketi içerisindedir, hala bu hatayı alıyorum.
Herhangi bir ipucu lütfen?
Birisi zaten bir form etiketi olan bir Master sayfasını kullanıyorsa bunu daha önce de görmüştüm (bu zaten bildirilmiş olabilir veya olmayabilir) runat="server" içinde <form> etiket). Sadece bir düşünce... - lhan
@Lloyd: Ama hiçbir ana sayfam yok, sadece bu hatayı test etmek için bu sayfayı oluşturdum. - teenup
Merhaba, kodunuzu kopyaladım ancak sorunu kopyalayamıyorum. Tüm dosya içeriğini (her satır) sorunuza veya Pastebin'e koyabilir misiniz? Teşekkürler - christofr
olası kopyası GridView, oluşturulması için bir form etiketine eklenmelidir. - Grant Thomas
Sen çağırıyorsun GridView.RenderControl(htmlTextWriter)dolayısıyla sayfa bir Sunucu Denetimi'nin bir Form dışında oluşturulduğu bir istisna ortaya çıkarır.
Bu uygulamayı geçersiz kılmaktan kaçınabilirsiniz. VerifyRenderingInServerForm
Görmek İşte ve İşte.
İçeriğimi bir E-posta İletisine dönüştürmek istediğim bir GridView'im var, bu yüzden onu form dışı bırakmam gerekiyor. Ana makine sayfası Sharepoint olduğundan bu yöntemi geçersiz kılamıyorum. Kılavuzum, sharepoint sayfasındaki bir web bölümü içinde bir Usercontrol. - teenup
Ayrıca, GridView'ı doğrudan bir HtmlForm'a dinamik olarak eklediğimde ve oluşturduğumda, mükemmel bir şekilde işliyor. Bu sadece bir ızgara dışında bir formun varlığını gerektirir anlamına gelir. Ancak, bu DIV'yi dinamik olarak HtmlForm'a eklediğimde, Grid DIV'nin bir alt öğesi olmasına ve HtmlForm'a birlikte eklenmesine rağmen bu hata yine gelir. - teenup
@Tim Schmelter ... siz tanrınız! Teşekkür ederim!! - DotNetRookie
ızgaralarınız bir .ascx kullanıcı denetimi içinde ise bu işe yaramaz. Bu durumda Chris Mullins'in cevabını aşağıya bakın. Hem Tim hem de Chris'in tekniklerini kullandım ve harika çalışıyorlar. - Taylor Brown
Harika çalıştı. Sadece bir başınızı "RegisterForEventValidation sadece Render () sırasında çağrılabilir" diyen bir hata alabilirsiniz. Bu şekilde ayarlanmışsa, EventValidation öğesini sayfa için işaretlemede false olarak ayarladığınızdan emin olun. - Al Belmondo
VerifyRenderingInServerForm'u geçersiz kılmanın bir alternatifi, oluşturmayı gerçekleştirirken ızgaranın denetimler koleksiyonundan kaldırılması ve ardından sayfa yüklenmeden önce eklediğinizde onu eklemektir. Bu, geçersiz kılmayı eklemeniz gerekmediğinden, grid html'yi almak için bazı genel yardımcı yöntemlere sahip olmak istiyorsanız yararlı olur.
Geçersiz kılmayı önlemek için başka bir alternatif de bunu yapmaktır:
Adroit !! Yarın deneyeceğim. - teenup
ızgarayı bir asp kullanıcı denetimi (.ascx) içine koymaya çalışırken, 1. yöntemi kullanarak benim için harika çalıştı. - Taylor Brown
Eğer gridview LinkButton gibi kontroller içeriyorsa işe yaramıyor - 'LinkButton' tipinin kontrolü 'runat = server' hatasıyla bir form etiketinin içine yerleştirilmelidir. 2.Bu tekniğin neden işe yaradığını açıklar mısınız? - BornToCode
@BornToCode Izgarada ızgara görünümünüz için sıralamayı devre dışı bırakın. - Adi Solar
sıralama ve sayfalandırmayı devre dışı bırakma - Vani
Page_Load eklemenizden hemen sonra:
İşlevde hiçbir şey yapmadığımı unutmayın.
DÜZENLE: Tim aynı şeyi yanıtladı. :) Cevabı da bulabilirsiniz İşte
Sadece bunu yapmanın başka bir yolunu eklemek istiyorum. Çeşitli ilgili konularda birden çok kişi gördüm. Bunu, ana sayfaya eklemeden VerifyRenderingInServerForm uygulamasını kullanabilirsiniz.
Bunu gerçekten yapabilirsin ama birazcık zor.
İlk önce aşağıdaki gibi bir şey görecek yeni bir Sayfa sınıfı oluşturun:
Onunla ilişkili bir .ASPX'in olması gerekmez.
Sonra kontrol etmek istediğinizde, aşağıdaki gibi bir şey yapabilirsiniz.
Artık orijinal kontrolünüz HTML olarak oluşturuldu. Gerekirse, kontrolü tekrar orijinal konumuna ekleyin. Artık HTML'yi oluşturdunuz, sayfa normal ve sayfanın kendisinde bir değişiklik yok.
Basit bir şey elde etmek için çok fazla kod. - SearchForKnowledge
@DanielEdwards DesignerInitialize () sizin için ne yapar? - JJS
İşte benim kodum
Bu cevabı neden cevaplandırıldıktan 5 yıl sonra eklediniz? Ve aynı cevaptır. - Mukus