![]() | |
| | #1 (permalink) |
| Üye Üyelik Tarihi: 05/2007
Mesaj: 2
|
Öncelikle selamlar.. ilk mesajımda birşeyler sormak istemezdim, ama gerçekten başım dertte. JavaScript ve ASP konusunda pek bilgili olmadığımdan, size basit gelebilecek bir sorunum var.. "map.aspx" adlı sayfamda "Image1" isimli bir resmim var. Bu resmin, tıklanan piksel değerlerini "map.aspx.cs" sayfasına bir şekilde geçirmem ve kullanmam lazım. Resim üzerinde tıklanan yerin koordinatlarını javascript kullanarak alabiliyorum.. Şöyle ki: <head runat="server"> <script type="text/javascript"> function show_coords(event) { x=event.clientX y=event.clientY window.status = "X coords: " + x + ", Y coords: " + y } </script> </head> Ve, <asp:Image ID="Image1" runat="server" Height="810px" ImageUrl="~/images/tempMap.jpg" Style="left: 248px; position: absolute; top: 247px" Width="810px" onclick="show_coords(event)" /> (bu satırların tamamı map.aspx'in içinde) Bu şekilde tarayıcının altında tıklanan koordinatları görebiliyorum. Ama bu koordinatları bir türlü alıp "map.aspx.cs" ye gönderemedim. Sayfa üzerinde bir textbox oluşturup onun içine atmayı bile denedim, o kadar çaresiz kaldım yani. form1.TextBox1.Value = "5" gibi.. Bu konuda yardımcı olursanız gerçekten çok sevinirim. Bu arada, .Net 2005 kullanıyorum.. |
| | |
| | #2 (permalink) |
| Kurtarıcı değil, Deterjan Üyelik Tarihi: 01/2003
Mesaj: 94
|
Bu mesele Ajax(özellikle bir Ajax framework kullanarak) ve javascript kullanılarak çözülür. Fakat ben sana daha kolay bir yol söyleyeyim. 1)Form üzerine iki tane TextBox yerleştir (gizli de olabilir, görünür de... Sana bağlı) Birisine X birisine de Y koordinat değeri gelecek. 2)Bir tane de Button yerleştir. Button'a click yapıldığında server tarafında koordinatları TextBox'lardan alacak şekilde kodlamanı yap. 3) Javascript tarafında ise yapacağın şey: Koordinatları al ve TextBox'lara değer olarak yerleştir, sonra da Button nesnesinin click() metodunu manuel olarak çağır ve PostBack mekanizmasının çalışmasını sağla. Böylece sunucuya seçim Textbox'lar içinde gönderilecektir. Kodlama konusunda yardıma ihtiyacın olursa tekrar buraya yaz. Kolay gelsin. |
| | |
| | #3 (permalink) |
| Üye Üyelik Tarihi: 05/2007
Mesaj: 2
|
yardımın için teşekkürler Neo, ama sorunum zaten script le textbox a birşeyler yazamıyor olmak. Tahminimce, çok basit birşey olduğu için direk onunla ilgili bir cevap bulamıyorum. Şu satırı buldum: document.getElementById(TextBox1).value = "5" ama bu satırı koyduğum zaman programı çalıştırınca tarayıcıdan "error on page" yazısı geliyor |
| | |
| | #4 (permalink) |
| Kurtarıcı değil, Deterjan Üyelik Tarihi: 01/2003
Mesaj: 94
|
Normalde ASP.NET ID olduğun verdiğin değerle bir input(type=text) oluşturur ve senin getElementById('TextBox1') diyerek ona erişebilmen gerekir. Bazen TextBox bir bileşenin içine yerleştirildiğinde, mesela ContentPlaceHolder veya GridView veya başka bir şey, TextBox1 değeri tekrar etmeyecek başka bir şeye dönüştürülür. Mesela benim yaptığım bir sayfada şuna benzer bir ID oluşturuluyor Kod: <input type=text id="ctl0__TextBox1".... Kod: <script language=javascript>
function show_coorrd(...)
{
....
var tb1 = getElementById2('TextBox1', 'INPUT');
}
function getElementById2(oldId, tagName)
{
var elements = document.getElementsByTagName(tagName);
for(var i=0; i<elements.length; i++)
if (elements[i].id.indexOf(oldId) >= 0)
return elements[i];
return null;
}
</script>
|
| | |
| | #5 (permalink) |
| Varlığa izin veren boşluk Üyelik Tarihi: 04/2004 Yer: İstanbul
Mesaj: 2,824
|
Eğer hem server tarafında hem client tarafında aynı ID ile ulaşabilmek istiyorsan, <asp:TextBox yerine <input type="text" id="html_input" runat="server"/> gibi bir kullanımı tercih etmelisin. Yine de herhangi bir datagrid, datalist vb. templated kontroller içinde bu kontrolün aynı id ile bir kaç kez tekrar etmesine karşı yine javascript ile bazı önlemler alabilirsin. (Tekrar ediyorsa almalısın da)
__________________ Ceviz Viki | Vikipedi | VikiKitap | VikiKaynak | VikiSözlük | VikiSöz | Wikipedia | Wikibooks |
| | |
| | #6 (permalink) |
| Kurtarıcı değil, Deterjan Üyelik Tarihi: 01/2003
Mesaj: 94
|
Aslında orjinal ID'nin değişmesini durumunu javascript tarafında yönetebilmenin birden fazla yolu var, yeri gelmişken bir tanesini daha yazayım. Sunucu tarafında Kod: protected void Page_Load(...)
{
...
...
// Kontrollerin oluşturulmuş ID'lerini javascript'e aktar
string clientScript = "<script>var generatedIds = new Array();";
foreach(Control c in this.Controls)
clientScript += String.Format("generatedIds['{0}'] = '{1}'\n",
c.ID, c.ClientID);
clientScript += "</script>";
RegisterStartupScript("ids", clientScript);
}
Kod: var tb1 = document.getElementById( generatedIds['TextBox1'] ); NOT: Denemedim, yazım hataları olabilir. |
| | |
| | #7 (permalink) |
| Varlığa izin veren boşluk Üyelik Tarihi: 04/2004 Yer: İstanbul
Mesaj: 2,824
|
neo: Bir de taaa .net in ilk zamanlarında istemci tarafındaki DOM a erişebilen bir paket(.net dll i) vardı. Cengiz Han ın blogunda mı görmüştüm, başka bir yerde mi tam hatırlayamıyorum. Adam C# kodunun içinde js koduna benzer bir şekilde document.getElementById kullanıyordu. Neydi bu neydi?
__________________ Ceviz Viki | Vikipedi | VikiKitap | VikiKaynak | VikiSözlük | VikiSöz | Wikipedia | Wikibooks |
| | |
![]() |
| Bookmarks |
| Seçenekler | |
| |
Benzer Konular | ||||
| Konu | Konuyu açana göre | Forum | Cevap | En Son Mesaj |
| Sayafaya gelen deger yok ise ? deger atamak | yousemeti | PHP | 5 | 19/08/2006 05:39 |
| eski verileri yeni bir mysql versiyona geçirme | webthese | Veritabanları & SQL | 2 | 13/05/2006 04:38 |
| Formda Alt alana geçirme | bocek | Javascript / DHTML / Ajax | 1 | 17/09/2005 15:11 |
| Reklamlar & Desteklenenler | |
| Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv | |