مشاهده نسخه کامل
: ايجاد Textbox به تعداد دلخواه
سلام دوستان من دارم يه سايت براي آزمون آنلاين طراحي مي كنم
تو اين سايت نياز هست كه به تعداد سوالات(كه تعداد از بانك خونده مي شه) label و textbox ايجاد كنم
تنها كدي كه به نظرم رسيد كد زير بود
ولي اشكال اين كد اينه كه چون همه textbox ها به يه اسم ايجاد ميشن امكان دسترسي به مقادير داخلشون وجود نداره
اگه در اين مورد من و راهنمايي كنيد ممنون مي شم
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
shalineh
13-10-2009, 15:58
دو راه داری:
1- ایجاد یک نام یکتا برای هر کنترل ( در اینجا تکست باکس )
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
2- ساختن یک لیست از تکست باکسها
مثال :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
:20:
دو راه داری:
1- ایجاد یک نام یکتا برای هر کنترل ( در اینجا تکست باکس )
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
2- ساختن یک لیست از تکست باکسها
مثال :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سلام
اول از همه ممنون از توجهتون
ممکنه کدایی که گذاشتین رو یکم توضیح بدین، مخصوصا کد دوم رو
و اگه c# بنویسین ممنون میشم
یه سوال
شما تو کدایی که نوشتین به text box یه نام دادین
ولی تو کد نویسی از همون اسم اولیه استفاده کردین نه نامی که خودتون دادین
البته می دونم استفاده از اون نام رو کامپایلر خطا میگیره
مشکل من اینجاست که شما اگر مثلا 10 تا textbox به صفحه اضافه کنید
و به هر کدوم یه نام هم بدین
بعد بخواین به مقادیر اونا دسترسی داشته باشین
بازم از اون اسم اولیه باید استفاده کنید پس بازم دچار مشکل میشیم
اگه راهنمایی کنید ممنون میشم
واقعا گیج شدم
shalineh
13-10-2009, 19:55
دوست عزیز توجه کن که در کد اول من نام تکست باکس رو بدین صورت تعریف کردم: TextBox & i
که i در هر دور حلقه، یک واحد به مقدار به آن افزوده میشه. یعنی نام تکست باکسها در پایان حلقه بدین شکل است:
textbox0
textbox1
.
.
.
textbox10
حالا وقتی میخوای مثلا به خصوصیت تکست از تکست باکس اول دسترسی داشته باشی باید به همون صورت بنویسی که من نوشتم.
ولی تو کد نویسی از همون اسم اولیه استفاده کردین نه نامی که خودتون دادیننه! از نامی استفاده می کنم که خودم دادم. در کد بالا نام تکست باکس را گذاشتم : TextBox & i
شما اونو تغییر بده و هر نامی که خواستی بذار.
درسته؟
هر دو کد رو به زبان C بازنویسی کردم:
کد اول:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدکد دوم:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
دوست عزیز توجه کن که در کد اول من نام تکست باکس رو بدین صورت تعریف کردم: TextBox & i
که i در هر دور حلقه، یک واحد به مقدار به آن افزوده میشه. یعنی نام تکست باکسها در پایان حلقه بدین شکل است:
textbox0
textbox1
.
.
.
textbox10
حالا وقتی میخوای مثلا به خصوصیت تکست از تکست باکس اول دسترسی داشته باشی باید به همون صورت بنویسی که من نوشتم.
نه! از نامی استفاده می کنم که خودم دادم. در کد بالا نام تکست باکس را گذاشتم : TextBox & i
شما اونو تغییر بده و هر نامی که خواستی بذار.
درسته؟
هر دو کد رو به زبان C بازنویسی کردم:
کد اول:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدکد دوم:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سلام
ممنون از توضيحاتتون
ولي متاسفانه كدي كه گذاشتين اشكال داره
(كد اول)
خاصيت كنترل، خصيصه اي به نام آيتم نداره
و همين طور خصيصه اي به اسم text
لطفا كمك كنيد
بد جور عجله دارم
sajjadlove
14-10-2009, 22:43
به این شکل بنویس
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سلام
نام کنترلر مهم نیست و نیازی هم به وارد کردنش نیست.
فقط کافی است کنترلر شما در رویداد Init یا قبل از آن ساخته و اضافه شود.
یک دکمه روی فرم بگذارید و بعد هم کدی مثل این بنویسید، میبینید که خیلی ساده و راحت کار میکند!
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
(
البته این را هم اضافه کنم که من سالها قبل از این کارهال کرده بودم و نتایج رضایت بخشی نگرفتم ...
یعنی پیشنهاد میکنم کلاً این کار را فراموش کنید و برای بخشهای مختلف فرم ها و یا UC های مختلف طراحی کنید و برای ورود جدولی هم ترجیحاً از همان GridView استفاده کنید.
(یعنی از لحاظ شکل و ابعاد و کاربر پسنید چیز جالب و زیبایی در نمی آید)
سمپل جدولی:
support.h02.ir/fwlink/?LinkId=1003425737
)
ممنون از جواب فوق العادتون
درست مي گين اينجور طراحي معمولا خوب از آب در نمياد
ولي گاهي اوقات چاره ديگه اي نيست
من يه سايت طراحي مي كنم كه يه قسمتش آزمون آنلاين داره
و اين صفحه بايد سوالات رو از بانك بخونه و روي صفحه چاپ كنه
سوالات 4 گزينه اي هستند و كاربر بايد با radiobutton يكي از گزينه ها رو انتخاب كنه
چون نميدونم چه تعداد سوال هست مجبورم از روش dynamic استفاده كنم
و از طرفي چون بايد پاسخ رو بررسي كنم بايد بتونم به كنترلها دسترسي داشته باشم
راه ديگه اي به ذهنم نرسيد اگه پيشنهادي داشته باشيد استقبال مي كنيم:)
-------------------
كدتون جواب داد
واقعا ممنونم
فقط يه جاييش رو نفهميدم
اگه راهنمايي كنيد ممنون ميشم
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اينجا var چكار مي كنه؟!
تا جايي كه فهميدم اين خط كل كنترلهاي فرم رو به controls نسبت مي ده
همين بود ديگه:31:
بازم ممنون
مهران باینری
15-10-2009, 15:50
بسیار مفید بود ممنون من هم استفاده کردم
مهران باینری
15-10-2009, 15:52
فاطمه خانم می تونید بیشتر توضیح بدید فکر کنم راه حل بهتری هم باشه
shalineh
15-10-2009, 16:12
سلام
نام کنترلر مهم نیست و نیازی هم به وارد کردنش نیست.
ضمن تشکر از شما بابت توضیحات همیشه جامعتون، کد دومی که نوشتم با نام کنترل کاری نداره و فقط با ایندکس کنترل کار میکنه.
در کدهای دینامیک من خودم ترجیح میدم با لیستها کار کنم تا آرایه ها!
سلام
اينجا var چكار مي كنه؟!
کار خاصی نمیکند.
1)
کلمه var در C#.Net2008 یک تعریف متغییر سریع و نوع تنبلی است (!) که کامپایلر در زمان کامپایل خودکار نوع متغییر را با توجه به عبارت سمت راست جایگزین میکند.
نتیجتاً دو کد زیر برابر هستند
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و دقیقاً تولید یک IL یکسان خواهند کرد.
2)
ذات تعریف متغییر controls هم به خاطر بازدهی و سرعت بوده...
this.Form.Controls توسط دو property جداگانه اشاره گر شی مجموعه کنترلرها را به دست می آورد.
و ذاتاً کد دومی در زیر همچین یک اپسیلونی سریعتر خواهد بود!
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
(اپسیلون اپسیلون جمع گردد بانگهی غیر اپسیلون شود !)
ضمن تشکر از شما بابت توضیحات همیشه جامعتون، کد دومی که نوشتم با نام کنترل کاری نداره و فقط با ایندکس کنترل کار میکنه.
در کدهای دینامیک من خودم ترجیح میدم با لیستها کار کنم تا آرایه ها!
فقط این را هم اضافه کنم که من منظورم به مطالب قبلی تاپیک نبود و فقط مطلب را به صورت reset شده (:31:) از اول بیان کردم.
وگرنه کد شما صحیح بود ولی دوستان نتوانسته بودند درست و در محلش استفاده کنند.
جمیعاً موفق باشید.
با تشكر از همه دوستان
تو اين موضوع يه هفته بود گير كرده بودم
خيلي كمكم كردين
2تا سوال ديگه هم دارم
textbox خصيصه اي داره كه بتونه متن انتخاب شده رو تشخيص بده
چه جوري ميشه بفهميم كه يه مقدار session قبلا set شده يا نه:20:
فاطمه خانم می تونید بیشتر توضیح بدید فکر کنم راه حل بهتری هم باشه
با راهنمايي دوستان اون قسمت پروژه تكميل شد
بيشتر توضيح ميدم:
يه سري سوال تو بانك ذخيره شده
و همين طور جوابا
كاربر شماره آزمون يا مشخصات آزموني رو كه مي خواد توش شركت كنه وارد مي كنه
بعد سوالا روي فرم ظاهر ميشه
و همين طور گزينه ها
يكي از گزينه ها رو انتخاب مي كنه (به وسيله radiobutton)
و با زدن دكمه اي جوابا ونمره رو مي بينه
shalineh
16-10-2009, 10:04
با تشكر از همه دوستان
تو اين موضوع يه هفته بود گير كرده بودم
خيلي كمكم كردين
2تا سوال ديگه هم دارم
textbox خصيصه اي داره كه بتونه متن انتخاب شده رو تشخيص بده
چه جوري ميشه بفهميم كه يه مقدار session قبلا set شده يا نه:20:
بله!
خصوصیت SelectedText برای همین منظور است.
پاسخ سوال دومت رو نمیدونم :11: ( عجب راهنمایی کردم :31: )
سلام
چه جوري ميشه بفهميم كه يه مقدار session قبلا set شده يا نه
آیتم مورد نظر را میتوانید با C#-null یا VB-Nothing مقایسه کنید و در صورت برابری، یعنی آیتم خالی است!
چیزی شبیه همین:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
همین منظورتان بوده؟ درست متوجه شدم؟
بله!
خصوصیت SelectedText برای همین منظور است.
پاسخ سوال دومت رو نمیدونم :11: ( عجب راهنمایی کردم :31: )
سلام :20:
شما مطمئنید که این خصیصه رو داره؟ :41:
شاید من اشتباه می کنم شایدم این کد شما تو vb جواب میده
ولی این خصیصه رو نداره اینجا
سلام
آیتم مورد نظر را میتوانید با C#-null یا VB-Nothing مقایسه کنید و در صورت برابری، یعنی آیتم خالی است!
چیزی شبیه همین:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
همین منظورتان بوده؟ درست متوجه شدم؟
فک کنم درست فهمیدین منظورمو
ببین تو page load بعضی از صفحاتم یه سری کارا انجام میشه که قبلش مقدار session باید چک شه
مثلا نام کاربری یا سطح دسترسی و از این جور چیزا
بعد وقتی کاربر login نکرده باشه
و به عبارتی اون session تنظیم نشده باشه خطا می گیره
من می خوام چک کنم که اگه set نشده اون کارها انجام نشه
کدی که نوشتین فک کنم کار کنه
الان تستش می کنم
سلام
شما مطمئنید که این خصیصه رو داره؟
شاید من اشتباه می کنم شایدم این کد شما تو vb جواب میده
ولی این خصیصه رو نداره اینجا
احتمالاً کاربر shalineh یادشان رفته بود و حواسشان نبوده شما تحت وب و ASP.Net کار میکنید.
همچین خصیصه ای که شما میخواهید در سمت سرور وجود ندارد و اصولاً معنی ندارد و منطقی هم نیست که با Submit صفحات متن انتخاب شده هم حفظ شود !
باید تفکرتان را اصلاح کنید، برنامه نویسی وب یا دسکتاپ فرق دارد...
=====
مگر آنکه از javascript و سمت کلاینت برای پردازشهای این تیپی خودتان استفاده کنید.
یعنی راهش فقط کدهای javascript سمت کلاینت است.
سلام
احتمالاً کاربر shalineh یادشان رفته بود و حواسشان نبوده شما تحت وب و ASP.Net کار میکنید.
همچین خصیصه ای که شما میخواهید در سمت سرور وجود ندارد و اصولاً معنی ندارد و منطقی هم نیست که با Submit صفحات متن انتخاب شده هم حفظ شود !
باید تفکرتان را اصلاح کنید، برنامه نویسی وب یا دسکتاپ فرق دارد...
=====
مگر آنکه از javascript و سمت کلاینت برای پردازشهای این تیپی خودتان استفاده کنید.
یعنی راهش فقط کدهای javascript سمت کلاینت است.
درسته
کاملا منطقیه
من نیاز به یه ویراستار متنی دارم
با توجه به وقت محدودم
فک نمی کنم بتونم بنویسم برنامش رو
کدای آمادش رو سراغ ندارین؟:27:
استفاده از User Control منطقی ترین کاره
استفاده از User Control منطقی ترین کاره
ميشه بيشتر توضيح بدين؟:20:
فاطمه جان در مورد session باید یک نکته رو فراموش نکنی
kنوع مقادیری که میتونه در session ریخته بشه مهم نیست چون بر اساس اولین مقدار قرار داده شده ست میشه اما نکته مهم اینه که مقدار اولیه
فاطمه جان در مورد session باید یک نکته رو فراموش نکنی
kنوع مقادیری که میتونه در session ریخته بشه مهم نیست چون بر اساس اولین مقدار قرار داده شده ست میشه اما نکته مهم اینه که مقدار اولیه
فك كنم جملتون كامل نيست!
اين نكته مهمتون رو نصفه گفتيد:20:
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.