سلام
من تو ASP.Net به زبان #C یک برنامه نوشتم که به تعداد رکوردهام checkbox رو موقع اجرا ایجاد(لود) کردم.
بعد حالا میخوام بفهمم که کدوم یکی از checkboxهام تیک خورده یا نخورده. چون تو .net هر شی اینکس نداره.
کمک کنین.
![]()
سلام
من تو ASP.Net به زبان #C یک برنامه نوشتم که به تعداد رکوردهام checkbox رو موقع اجرا ایجاد(لود) کردم.
بعد حالا میخوام بفهمم که کدوم یکی از checkboxهام تیک خورده یا نخورده. چون تو .net هر شی اینکس نداره.
کمک کنین.
![]()
دمتون گرم .
نیاز دارم
راهنمایی کنید.
![]()
سلام
خوب این checkbox را چطور اضافه کرده اید؟
فیلد datagrid است یا ستی اضافه شده؟
مثلا من با دستور checkbox ch= new checkbox() یک شی بوجود آوردم
بعد در یک رویداد دیگه ای میخوام بگم که اگر اون شی تیک خورده فلان کار رو بکن.
یک سوال دیگه هم دارم
توی ASP به زبان #C میخوام از رویداد Lost focus استفاده کنم که نداره یا در textchange که اصلا وارد آن نمیشه تا دستوراتش رو اجرا کنه
چکار کنم؟![]()
سلام
من نمیدانم برای چه دستی new کرده اید؟؟؟ این کار معمول نیست و احتمالاض هر کاری که میخواهید انجام دهید باز هم راه ساده تری دارد...مثلا من با دستور checkbox ch= new checkbox() یک شی بوجود آوردم
بعد در یک رویداد دیگه ای میخوام بگم که اگر اون شی تیک خورده فلان کار رو بکن.
ولی اگر دستی new میکنید کدی شبیه این لازم دارید:
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدشما انگار چندان با اصول برنامه نویسی تحت وب آشنا نیستید ...توی ASP به زبان #C میخوام از رویداد Lost focus استفاده کنم که نداره یا در textchange که اصلا وارد آن نمیشه تا دستوراتش رو اجرا کنه
چکار کنم؟
همچین رویدادی را در کدهای سمت سرور مدیریت نمیکنند
فرآیند ارسال اطلاعات به سرور submit گفته میشود که ممکن ایت چند ده ثانیه هم طول بکشد و طی ان نمودار درصد انجام کار هم در پایین مرور گر نشان داده خواهد شد.
(مثل زمانی که دکمه ای را کلیک میکنید)
نتیجتاً چندان عاقلانه نیست که با رویدادی مثل texchange برای هر فشار دکمه کیبورد یک بار اطلاعات به سرور ارسال شود!!!
راه حل:
1) اگر عمل فوق را برای اعتبار سنجی ورودی میخواهید، از امکانات اعتبار سنجی خود Asp.net استفاده کنید.
2) در غیر این صورت دستورات خود را به زبان javascript بنویسید که در کلاینت و در خود مرورگر بازدید کننده اجرا میشود و نتیجتاً به راحتی میتواند پاسخگویی تغییرات مدام یک Textbox باشد و اصول کار هم همین است که از کدهای سمت کلاینت برای این کار استفاده کنید.
3) راه نهایی برای اجرای کدهای سرور در این مواقع فقط استفاده از Ajax است که اجازه میدهد بدون submit مشخص بتوان به سرور متصل شد.
مرسي از اينكه جواب دادي.
در مورد سوال دومم . javascript , شي هاي روي (default.aspx) يا همون page رو كه نميشناسه؟!
چجوري به اون شي ها دسترسي پيدا كنم؟
سلام
یا کنترلرهای شما runat-server است یا نیست
اگر نیست مثل روشهای عادی میتوانید به آنها در javascript ارجاع دهید و اگر runat-server است، فقط کافی است id کنترلر را در کد سمت سرور با خصیصه ClientID محاسبه و برای کد سمت کلاینت javascript پر کنید.
(چون id کنترلر سمت سرور دست شما است ولی asp.net خودکار id منحصر بفردی برای سمت کلاینت آن اختصاص میدهد که با ClientID میتوانید بخوانیدش)
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
Last edited by _H2_; 13-08-2009 at 21:39.
داداش من يك كنترل از قسمت Standard جعبه ابزار رو استفاده كردم . به خاطر همين ميگم javascript نميشناسه.
شما از كنترل هاي بخش HTML استفاده كرديد و اگر من از اونها استفاده كنم اون وقت تو قسمت كد نويسي ASP به اون ها دسترسي ندارم . پس من ميخوام هم تو كد HTML به اون كنترل دسترسي داشته باشم و هم تو كد ASP.
Last edited by AghaMoez; 15-08-2009 at 07:31. دليل: اشتباه
سلام
لطفاً به مثال قبلی دقت بیشتری کنید ...
text1 یک کنترلر استاندارد html است که با id معمولی اش در جاوااسکریپت ارجاع داده شده ولی
TextBox1 یک کنترلر استاندارد asp.net است (از همان هایی که شمال میگویید) و با خصیصه ClientID در جاوااسکریپت استفاده شده.
به مثال قبلی دقت کنید.
موفق باشید.
راجع به اين كد
document.getElementById('<%= this.TextBox1.ClientID %>').value
مي خواستم مشابه اين كد , دستور مربوط به دستور ASP زير رو بديد كه يك شي Radio button list است.
if (RadioButton1.Items[2].Selected == true)
s=RadioButton1.Items[2].Text;
منظورم اينه كه ميخوام تو javascript از كد بالا استفاده كنم و ClientID رو بگيرم.
لطفا معادل اون رو كامل بنويسيد.
Last edited by AghaMoez; 17-08-2009 at 13:24.
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)