PDA

View Full Version : مشکل در دسترسی به تابع در CodeBehind



mohammad973
شنبه 12 اسفند 1391, 18:18 عصر
سلام دوستان .
من میخوام توی یکی از توابعم ، به SqlDataSource موجود توی صفحه ام درسترسی داشته باشم . فقط هم وقتی اون تابع Protect باشه این امکان پذیره (نمیدونمم چرا!!!!) از طرفی چون با Ajax دارم اطلاعات رو میفرستم ، باید اون تابعه به جای protect ، حتما public static باشه ! وقتی این کارو میکنم دیگه اون SqlDataSource من رو نمیشناسه !!!! چکار کنم ؟:متفکر:

ahmad156
شنبه 12 اسفند 1391, 18:24 عصر
دوست عزیز در تابع ای که static هست فقط به property های static دسترسی دارین

mohammad973
شنبه 12 اسفند 1391, 18:25 عصر
خوب چکار باید بکنم ؟

ahmad156
شنبه 12 اسفند 1391, 18:39 عصر
دوست عزیز متد های static این محدودیت ها رو دارند.شما باید کارای DataBase رو (در واقع لایه DAL) توی یک کلاس مجزا انجام بدین و بعد از اون توی تابع static میتونین استفاده کنین.
2 تا لینک زیر میتونه کمکتون کنه
http://www.dotnettips.info/post/325/%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C-%D9%88%D8%A7%DA%98%D9%87-%DA%A9%D9%84%DB%8C%D8%AF%DB%8C-static
http://www.dotnettips.info/post/487/%D9%85%D8%AA%D8%BA%DB%8C%D8%B1%D9%87%D8%A7%DB%8C-%D8%A7%D8%B3%D8%AA%D8%A7%D8%AA%DB%8C%DA%A9-%D9%88-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%E2%80%8C%D9%8 7%D8%A7%DB%8C-asp-net

mohammad973
شنبه 12 اسفند 1391, 20:38 عصر
تشکر . ولی مشکلم همچنان پابرجاست !

منظور شما اینه که یک تابع بصورت non-static بنویسم که توی اون با دیتابیسم کار کنم و بعد یه تابع static بنویسم که دسترسی به این تابع داشته باشه و Ajaxام زو بفرستم سراغ این تابع دومیه ؟

طبق مقاله های استاد نصیری که این کار نشدنیه ! میشه بیشتر راهنماییم کنی دوست عزیز ؟

ahmad156
شنبه 12 اسفند 1391, 21:09 عصر
دوست عزیز شما توی پوشه app_code یه کلاس تعریف کنین.بعد متدی رو اونجا بنویسین که query مورد نظرتون رو اجرا کنه(مثلا بر اساس کلید اطلاعات شخص مورد نظر رو به صورت DataTable) برگردونه.بعد شما توی تایع static تون میتونین از اون کلاس شی ای رو ایجاد کنین و نتیجه مورد رو اونجا دریافت کنین و ...