Asp.Net Literal Ve Jquery
-
Codebehind tarafında oluşturduğum bir html kodu (baya uzun birşey) Literal vasıtası ile Design kısmına gösteriyorum. Ardından literal ile gösterdiğim kodlar üzerinde jQuery yardımı ile çeşitli değişiklikler yaptırıyorum (dinamik bir form, textarea ekliyor çıkarıyor vs.) sonrasında Literal.Text ile okuduğumda değişiklikleri göremiyorum. Oluşturduğum Div'e runat="server" ekledim InnerText ile de okumaya çalıştığımda yine jQuery ile yapılan değişikleri göremiyorum. Özet: Literal ile göstermiş olduğum bu html kodlar jQuery ile düzenlendikten sonra yeni haline codebehind tarafında ulaşabilecem?
-
hocam jquery ile yaptığın değişiklikler, viewstateye taşınmadığından sayfan postback edildiğinde haliyle servera birşey gitmiyor.
jquery ile yaptığın işlemleri server tarafında yapabilirsin,
yada jquery ile eklediklerini bir hidden fielda ekletip
server tarafında okutabilirsin.
-
eyvallah anladım hocam, peki bu değişiklere arkadan ulaşmak için nasıl bir yöntem uygulamam gerek. asp.net'de ilk defa jquery kullanıyorum. vallahi asp.net den soğudum.
-
sayfa post olduğunda, request.form["clientid"] şeklinde değerlerine ulaşabilirsin.
-
Literal kullandığımız zaman Request.Post'da Literal çıkmıyor :)
-
Dağlara taşlara gele asp.net harbiden böyle uçarlı kaçarlı az yakar çok kaçar siteleri asp.net ile yazmak ölüm herhalde. Hiddenfield'a yazdırdım ordan çektiriyorum. Sağolasınız.
-
hocam sanırım aradığın şeyi yapabildim.
codebehind tarafında input değerini okumak için Request["okubeni"] demen gerek,
html kısmında ise <input type="text" name="okubeni" value="0" /> demelisin,
id değil name kısmına göre okuyor..
aşağıdaki şekilde jquery ile textbox ekletip, bunu codebehind tarafında okuyabildim.
umarım işine yarar :))
html :
<head runat="server">
<title></title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
$('a#add').click(function () {
var i = $('input#txtCounter').val();
$('<p><input type="text" value="deneme ' + i + '" name="text' + i + '" id="text' + i + '" /></p>').appendTo('form');
i++;
$('input#txtCounter').val(i);
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<p><input type="hidden" id="txtCounter" name="txtCounter" value="0" /></p>
<a href="#" id="add">Add</a>
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
</form>
</body>
c# :
protected void Button1_Click(object sender, EventArgs e)
{
int count = int.Parse(Request["txtCounter"].ToString());
for (int i = 0; i < count; i++)
{
string deger = Request["text" + i].ToString();
Response.Write(deger);
}
} -
eyvallah dostum başka türlü halletmiştim ancak bu şekildede işime yaracağı kesin. ellerine sağlıkç
-
ThundeR tşk ler benimde işime yaradı.
edit: yeni fark ettim.hiden e runat server ekleyerek cod tarafında direk ulaşılıp işlem yaptırılabilir. yani amaç js ile deger değiştirip değeri cod tarafında okumaksa bu da bir alternatif ;)
-
TeRRoR bunu yazdı:
-----------------------------
Dağlara taşlara gele asp.net harbiden böyle uçarlı kaçarlı az yakar çok kaçar siteleri asp.net ile yazmak ölüm herhalde. Hiddenfield'a yazdırdım ordan çektiriyorum. Sağolasınız.
-----------------------------web formda biraz kasış iş, ama mvc bunun için var
-
SharpShooter bunu yazdı:
-----------------------------TeRRoR bunu yazdı:
-----------------------------
Dağlara taşlara gele asp.net harbiden böyle uçarlı kaçarlı az yakar çok kaçar siteleri asp.net ile yazmak ölüm herhalde. Hiddenfield'a yazdırdım ordan çektiriyorum. Sağolasınız.
-----------------------------web formda biraz kasış iş, ama mvc bunun için var
-----------------------------
bir kaç yerdede sorunu dile getirdiğimde herkez mvc ile artık daha rahat olduğu söylediler. Ama ne yazıkki baya bir yol katettim webform ile mvc'ye şu an dönemem ama mvc'ye ayrıca bakmak gerek galiba.