ورود

View Full Version : برگرداندن مقدار یک تابع مشترک برای چندین کنترل



battak
یک شنبه 26 اردیبهشت 1389, 09:54 صبح
سلام، خسته نباشین.
من در یک صفحه چندین لینک دکمه ای دارم که کارهای مشترکی در صفحه با پایگاه داده انجام میدند که فقط در ارسال نوع داده با هم متفاوتند و وقتی به صفحه خودشون ارجاع میشن، یک صفحه مسترک است که در نام فیلد ها و اسامی و جزئیات ریز با یکدیگر تفاوت دارند که من برای اینکار یک یوزر کنترل تعریف کردم و از آن استفاده میکنم، حالا مشکل من:
من وقتی در صفحه کنترلی رو کلیک میکنم، تابع مشترکم باید نام کنترل کلیک شده رو برگردونه و من اینو پیدا نمیکنم! تا اگه بدست آوردم بتونم تشخیص بدم کاربر کدوم صفحه مد نظرش هست و من یوزر کنترلم رو نسبت به اون تغییر بدم.


پیشاپیش از راهنماییتون ممنونم.

battak
یک شنبه 26 اردیبهشت 1389, 09:58 صبح
در واقع من نمیخوام برای هر دکمه تابعی بنویسم که مقداری رو برام برگردونه،بعد از اون استفاده کنم،فقط میخوام در زمان کلیک که اون تابع مشترک اجرا میشه، اون فقط بهم بگه کدوم دکمه کلیک شده. یعنی از نوشتن کد های اضافه پرهیز کنم.

salehbagheri
یک شنبه 26 اردیبهشت 1389, 10:40 صبح
به كد زير توجه كنيد:

Sub Name(ByVal Sender As System.Object, ByVal E As System.EventArgs) Handles Me.Button1.Click, Me.Button2.Click, ...
End Sub


در اين كد در واقع sender همان چيزي هست كه شما دنبالشيد. پس از تبديلات لازم ميتونيد به مقدار مورد نظر دست پيدا كنيد.

battak
یک شنبه 26 اردیبهشت 1389, 10:51 صبح
ببخشین، ولی من اصلا از این کد شما هیچی نفهمیدم!

من از سندر خود تابع استفاده کردم ولی اون نوع کنترل رو برام بر میگردونه، و در نهایت مقداری رو که من میخوام برگردونه null میزنه.

و یک چیزی هم که هست،من مرحله به مرحله چک کردم، یعنی ران مرحله به مرحله رو انجام دادم، دیدم در قسمت سندر تابع، از فیلد تکست اون کنترل، هم میتونم استفاده کنم، ولی باز دسترسی بهش نمیتونم پیدا کنم!!

salehbagheri
یک شنبه 26 اردیبهشت 1389, 11:02 صبح
من از سندر خود تابع استفاده کردم ولی اون نوع کنترل رو برام بر میگردونه، و در نهایت مقداری رو که من میخوام برگردونه null میزنه.

شما از Handles در تابع خودتون استفاده ميكنيد؟


دیدم در قسمت سندر تابع، از فیلد تکست اون کنترل، هم میتونم استفاده کنم

در اين موارد من از فيلد Tag اون كنترل استفاده ميكردم ...

battak
یک شنبه 26 اردیبهشت 1389, 11:13 صبح
در اين موارد من از فيلد Tag اون كنترل استفاده ميكردم ...

میشه بیشتر توضیح بدین؟

battak
یک شنبه 26 اردیبهشت 1389, 11:21 صبح
ببینین من فقط یه متغیر دارم که میخوام اسم دکمه کلیک شده توش بیاد.
مطمئنم این برا بچه های اینجا اصلا سخت نیست...

Vahid_moghaddam
یک شنبه 26 اردیبهشت 1389, 11:46 صبح
این کد به کار شما میاد؟



void SetName(object sender)
{
string ss=((WebControl)sender).ID;
}