نقل قول: مشکل در کار با وب متد
نقل قول:
نوشته شده توسط
zareenaz
من میخوام یک وب متد بنوییسم ولی با مشکل بر خوردم
وب متد من توی یک uc هستش مجبور شدم وب متدی توی صفحه استفاده کننده از Usercontrolام بذارم که تابع مورد نظرم را در uc صدا بزنه ولی مشکل اینجاست که کد زیر را که می نویسم uc1 که همون usercontrol توی صفحه هست مقدار null داره و من نمی تونم تابعش را صدا بزنم :افسرده: :عصبانی++:
[System.Web.Services.WebMethod]
publicstaticvoid OkCheque()
{
ASP.admin_default_aspx d = (ASP.admin_default_aspx)HttpContext.Current.Handler;
if (d.c!= null)
d.c.Ok();
}
که c همون UC توی صفحه هست
اگر ممکنه راه حلی برام بذارید متشکرم
سلام.
برای اینکار نباید متود رو داخل UserControl بذارید. شما میتونید با ایجاد یک وب سرویس، کار شایسته تری انجام بدید. ضمن اینکه من نمیدونم این روش برای فراخوانی یک متود رو از کجا آورده اید، اما بهتون اطمینان میدم اینکار صحیح نیست. فراخوانی Web Method یا Page Method ها اصولی داره که میتونید با خوندن چند صفحه کتاب، یا جستجو در MSDN یا گوگل، با این روشها آشنا بشید.
پاورقی: میتونید برای آشنایی با این روشها، این سوال و جوابها رو هم بخونید.
1 ضمیمه
نقل قول: مشکل در کار با وب متد
جناب اقای موسوی
با روشی که شما فرمودید نوشتم ولی هیچ جواب نمیده اگر ممکنه پروژه تستی که ساختم را پیوست کردم نگاهش کنید من نمیدونم کجا اشتباه کردم
نقل قول: مشکل در کار با وب متد
نقل قول:
نوشته شده توسط
zareenaz
جناب اقای موسوی
با روشی که شما فرمودید نوشتم ولی هیچ جواب نمیده اگر ممکنه پروژه تستی که ساختم را پیوست کردم نگاهش کنید من نمیدونم کجا اشتباه کردم
سلام.
من کد شما رو دیدم، اما هیچ جا ندیدم از Client Callback ها استفاده کرده باشید. شما دارید از jQuery برای GET کردن یک URL استفاده میکنید. اسم این Client Callback نیست! Client Callback یکی از قابلیتهای ASP.NET هستش...
در هر حال، (حداقل) دو ایراد بزرگ در کد شما وجود داره. یکی اونجایی که نوشته اید:
var date = document.getElementById('<%#Txt_Date.ClientID %>');
این کد از این جهت ایراد داره که شما قرار نیست اینجا چیزی رو Bind کنید، فقط میخواهید ID یک کنترل رو بگیرید. برای انجام صحیح اینکار، باید جای # از = استفاده کنید.
ایراد دوم، توی این خط هستش:
jquery.get(strPath, null, null, 'html');
شما جای jquery باید بنویسید jQuery. یادتون باشه که javascript به بزرگ/کوچک بودن حروف، حساسه.
این دو مساله مورد رو درست کنید، URL مورد نظر با موفقیت توسط دستور get دریافت میشه.
موفق باشید.