PDA

View Full Version : صدا زدن تابع با AJAX Extensions



hosseinab
چهارشنبه 15 فروردین 1386, 16:17 عصر
سلام

من دارم یک یوز کنترل می سازم که می خواهم وقتی یک چیزی داخلش درگ دروپ شد یک تابع سمت سرور اجرا بشودایا با AJAX Extensions یا همون atlas می شود این کار را کرد بدون زدن دکمه یا چیز دیگری

متشکر

manager
چهارشنبه 15 فروردین 1386, 17:40 عصر
AJAX را بدون AJAX تجربه کنید! (http://www.barnamenevis.org/forum/showthread.php?t=52380)

Behrouz_Rad
چهارشنبه 15 فروردین 1386, 17:49 عصر
سلام

من دارم یک یوز کنترل می سازم که می خواهم وقتی یک چیزی داخلش درگ دروپ شد یک تابع سمت سرور اجرا بشودایا با AJAX Extensions یا همون atlas می شود این کار را کرد بدون زدن دکمه یا چیز دیگری

متشکر
بله میشه...
Drag و Drop، دو تابع جاوا اسکریپت جدا هستند که در زمان پایین بودن و رها کردن دکمه های ماوس فراخوانی میشن.
بدیهیه که می تونی در انتهای تابع Drop، یک Callback به سرور ایجاد و نتیجه ی برگشتی رو پردازش کنی.
همون طور که دوست عزیز، آقای فراحی گفتن، از تاپیک "AJAX را بدون AJAX تجربه کنید!" (http://www.barnamenevis.org/forum/showthread.php?t=52380) ایده بگیر...

موفق باشید.

hosseinab
پنج شنبه 16 فروردین 1386, 13:21 عصر
متشکر
ایا با یوزر کنترل مشکلی ندارد من قبلا ا ز callback استفاده کده بودم اما اینجا درست کار نمی کنه این یه کد ساده


Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim cm As ClientScriptManager = Page.ClientScript
Dim cbReference As String
cbReference = cm.GetCallbackEventReference(Me, "arg", "ReceiveServerData", "context")
Dim callbackScript As String
callbackScript = "function CallServer(arg, context)" & _
"{dZone.innerHTML+=""fff"";" & cbReference & "; }"
cm.RegisterClientScriptBlock(Me.GetType(), _
"CallServer", callbackScript, True)

End If

End Sub

Dim s As String

Public Function GetCallbackResult() As String Implements System.Web.UI.ICallbackEventHandler.GetCallbackRes ult
Return s
End Function

Public Sub RaiseCallbackEvent(ByVal eventArgument As String) Implements System.Web.UI.ICallbackEventHandler.RaiseCallbackE vent
s = 1
End Sub

//clinet Callback
function doAction()
{
CallServer('a','');
var dZone = document.getElementById("dZone");
dZone.innerHTML+="www";
}
function ReceiveServerData(arg, context)
{
dZone.innerHTML+="ttt";
}

innerHTML برای این گذاشتم که ببینم تا کجا کار می کند فقط ttt چاپ نمی شود تابع callserver هم اجرا می شود ولی RaiseCallbackEvent اجرا نمی شود
(ببخشید نمی ندونم چطوری کد را راست چین کنم)