Konuyu görüntüle
IUCODERS FORUM > Programlama > .NET > Textbox'a html kod yazdırma
Yazar
neozepron


avatar
Ayd?n
Kayıt: 18.01.2006
15.11.2007-19:15 #30560
Elimde bir textboxım var. içine <br> tarzı kodlar yazdırmak istiyorum. Daha sonra bunu database'e yazdırıp, başka bir sayfada göstermek istiyorum database'ten çekip. Fakat misal <br> tagları textbox'tan aldığımda "& lt ; br & gt;" olarak çıkıyor ve sayfada görünürken de <br> olarak çıkıp bir satır atlamıyor. Bunların <br> çıkması için ne yapabilirim?





Yazar
tarikkranda


avatar

Kayıt: 07.01.2006
15.11.2007-19:20 #30563
textBox ın text ozelligine verecegin string ifadesini yani senin degiminle kodlarını, once HTMLEncoding methodundan gecirmen lazım. HtmlEncoding diye aratırsan methodun neyin altinda oldugunu bulabilirsin MSDN de. Su anda hatirlayamadim tam olarak yerini ama kaynak kodunu basan bir sayfa yapmak icin bu tarz seyler kullaniliyor. Kolay gelsin. Bir dene bakalim ne olacak.





Yazar
cantur


avatar
Rize
admin
Kayıt: 16.01.2006
16.11.2007-00:40 #30589
textbox'ın yetenekleri sınırlı bir html kodunu text boxta yazarken <br> şeklinde yazıyorsan onu textbox tekrar geri yazdığında yine <br> görünecektir. Geri yazım işlemi için literaller kullanabilir. veya yazıyı yazmak istediğin table , div v.s. elemanların innerhtml özelliğine bu bilgiyi yazdırabilirsin.

Bir ikincisi kullanıcılara detaylı html girme imkanı tanıyan fckeditor 'ü kullanabilirsin. www.fckeditor.com
Açık kaynak tüm dillere destiği olan kullanıcı arayüzü kısıtlandırılabilen ve dahili upload modülleri buunan bir eklenti. Dotnet'te kullanımı çok basıt toolbaxa ekledikten sonra aynı textbox gibi sayfaya sürükle burak. biggrin







Yazar
tarikkranda


avatar

Kayıt: 07.01.2006
16.11.2007-01:51 #30596
Bu basliktaki giris mesajı uzerinde oynandı mı? Degismis gibi geldi bana? Ben farklı anlamısım ama sanki o zaman baska birsey yazıyordu.





Yazar
mmt


avatar

Kayıt: 22.01.2006
16.11.2007-03:18 #30598
tam olarak sorunu anlayamadım dolayısıyla bir kaç şey yazacağım umarım herhangi birisi işe yarar.
veritabanından gelen html kodlarını literal'de yazdırmak en sağlıklısı. literal'in mode'unu passthrough yapmayı dene. yani "<asp:Literal runat="server" mode="PassThrough" ... />


olmazsa şunu dene: (bunu bir yerden buldum, çalışıp çalışmadığını denemedim)

textbox'ı veritabanına atmadan önce;
string mesaj=Context.Server.HtmlEncode(TextBox.Text);
(böylece <br>, "& lt ; br & gt;" oluyor)

veritabanından alırken de;
string aaa=Context.Server.HtmlDecode(vt'den gelen)
(ve "& lt ; br & gt;", <br> oluyor)

o da olmazsa şu en garanti ve amele yöntem :D

publicstatic string htmlduzelt(string vt'den_gelen)
{
StringBuilder str = new StringBuilder(vt'den_gelen);
(alttaki & işaretlerinden sonra boşluk olmayacak)
str.Replace("& lt;b& gt;", "<b>");
str.Replace("& lt;/b& gt;", "</b>");
str.Replace("& lt;i& gt;", "<i>");
str.Replace("& lt;/i& gt;", "</i>");
str.Replace("& lt;p& gt;", "<p>");
str.Replace("& lt;/p& gt;", "</p>");
str.Replace("& lt;u& gt;", "<u>");
str.Replace("& lt;/u& gt;", "</u>");
str.Replace("& lt;br& gt;", "<br>");
str.Replace("& lt;/br& gt;", "</br>");
str.Replace("& lt;br/& gt;", "</br>");

return str.ToString();
}


bir de html kodu olarak yazılmış şeyleri post ederken "potentially dangerous cart curt" diye bir hata veriyordu. sayfanın başına ValidateRequest="false" yazarsan o da hallolur.

kolay gelsin.





Yazar
neozepron


avatar
Ayd?n
Kayıt: 18.01.2006
16.11.2007-12:46 #30618
Yanlış hatırlamıyorsam tek oynadığım yer. "& lt ; br & gt;" şunları birleşik yazınca otomatik olarak <br> gösteriyordu. onun için ayırdım.

FCKeditor kullanacağım sanırım.
Cevaplar için teşekkür ederim.

Sağolun.





Yazar
dotnetonur


avatar
Dersaadet
Kayıt: 21.11.2007
21.11.2007-18:25 #31178
FCKEditor`e alternatif olarak , RADEditor veya FreeTextBox`ta kullanabilirsiniz..





Ortam sanal olsa da, islenen suc gercektir...

Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb