PDA

View Full Version : سوال: چطور یه مقدار کلید خارجی رو از کاربر بگیریم



neynavaz
یک شنبه 03 مهر 1390, 07:28 صبح
ببینید من قراره تو فرم ثبت نام خودم مثلا موقعیت سازمانی فرد رو بهمراه دیگر اطلاعات ازش بگیرم
این موقعیت سازمانی رو باید با جستجو تو صفحه دیگه انتخاب کنه
حالا من با یه لینک اونو به اون صفحه وصلش میکنم
اما مشکل اینه چطور مقدار انتخاب شده توسط کاربر تو اون صفحه رو به تکست باکس این صفحه ثبت نام بیارم
اونجا تو سشن ریختم
اما اینجا رویدادی اتفاق نمی افته که مقدار سشن رو بریزم تو تکست باکس

کسی که قبلا اینکارو کرده راهنماییم کنه
اگه راه دیگری هم میدونید خوشحال میشم بگید

neynavaz
دوشنبه 04 مهر 1390, 07:31 صبح
یعنی هیچکی یه همچین فرمی طراحی نکرده
؟؟؟

میلاد قاضی پور
دوشنبه 04 مهر 1390, 10:16 صبح
مقادیر رو هم با کوئری استرینگ و همبا کوکی میتونید بین صفحات انتقال بدید . در فرم لود صفحه دوم هم کد فراخوانی رو بنویسید! (اگه درست متوجه شده باشم )

neynavaz
دوشنبه 04 مهر 1390, 10:47 صبح
ممنون که جواب دادید
ببینید مشکل من اینه که کاربر مقداری اطلاعات (مثلا 10تا فیلد) رو وارد کرده و بعد با یه دکمه میخواد بره به صفحه موقعیت سازمانی و اونجا انتخاب کنه و بیاد
تا اینجا مشکلی نداره ولی وقتی انتخاب میکنه بر میگرده اطلاعات فیلدها همش پریده!!

اوبالیت به بو
دوشنبه 04 مهر 1390, 13:13 عصر
سلام

اینطور مواقع من عملیات رو مرحله بندی می کنم. شما می تونید اون 10 تا فیلد رو داخل یک View قرار بدید و یک دکمه بذارید به اسم مرحله بعد. وقتی روش کلیک کرد View رو عوض کنید. اون بالا هم مثلا یک تصویر دایره سبز رنگ نشون بدید که یعنی همه چیز OK شده. بعد تو مرحله بعد اون کلید خارجی رو می تونید از TreeView یا DropDownList ها یا هر چیزی که خودتون مد نظر دارید انتخاب کنه کاربر و بعد ثبت کنید. این ساده ترین روش برای این کار هست.

neynavaz
دوشنبه 04 مهر 1390, 13:21 عصر
یعنی با مولتی ویو اینکار رو بکنم؟
ممکنه تو یه صفحه 5 تا کلید خارجی هم نیاز بشه
...
اگه با سشن نگهداری کنم ایرادی داره؟
سنگین میشه؟

neynavaz
دوشنبه 04 مهر 1390, 13:45 عصر
کسی در مورد output chache چیزی میدونه؟
چطور میشه باهاش تو اینکار کمک گرفت؟

اوبالیت به بو
دوشنبه 04 مهر 1390, 14:35 عصر
یعنی با مولتی ویو اینکار رو بکنم؟
ممکنه تو یه صفحه 5 تا کلید خارجی هم نیاز بشه

خوب باشه. ایراد کجاست؟

neynavaz
دوشنبه 04 مهر 1390, 15:02 عصر
تعداد کنترلهای صفحه بالا میره دیگه سرعت پایین میاد

اوبالیت به بو
دوشنبه 04 مهر 1390, 15:10 عصر
تعداد کنترلهای صفحه بالا میره دیگه سرعت پایین میاد



شما View رو صدا می زنید. وقتی صفحه شما لود شد یه Page Source بگیرید. خواهید دید که کنترل های دیگه اصلا Initial نشدند. فقط مربوط به اون View فراخوانی می شن.
در ثانی مگر چند تا کنترل خواهید داشت؟ از 50 تا بیشتر هستند؟ مشکلی پیش نمیاد. این روشی که من می گم خیلی ساده و آماتوری هست.

neynavaz
دوشنبه 04 مهر 1390, 15:34 عصر
من فعلا اینکارو کردم
مقادیر فیلدها رو تو سشن نگهداری میکنم

Session("Parent_Id") = txt_id.Text


بعد ری دایرکت میکنم به صفحه مورد نظرم
از اونجا میتونم از کاربر اطلاعات رو بگیرم
بعدش با یه دکمه ری دایرکت میکنم به پیج اول البته با یه مقدار که تو کویری استرینگ میذارم
تو لود پیج خودم چک میکنم اگر با کویری استرینگ خاصی فراخونده شده بود
سشن های ذخیره شده رو بازیابی میکنم تو کنترل ها قرار میدم

خیلی کار آماتوری هستش؟

اوبالیت به بو
دوشنبه 04 مهر 1390, 22:19 عصر
اصلا احتیاجی به این کار نیست. شما کافی تو View آخر مقادیر TextBox ها رو بریزی.

neynavaz
سه شنبه 05 مهر 1390, 08:17 صبح
ببخشید منظورتون از ویو چیه
مگه همین کنترل های Multi view
و
View نیست؟

rajabpour
سه شنبه 05 مهر 1390, 08:46 صبح
سلام به همه،

با احترام فراوان به نظرات دوستان،

چرا کاربر رو اذیت میکنید....

از PopUp استفاده کنید اینم مثالش:
passing-value-from-popup-window-to-parent-form39s-textbox (http://wiki.asp.net/page.aspx/282/passing-value-from-popup-window-to-parent-form39s-textbox/)

موفق و پارسی باشید..
M.R

neynavaz
سه شنبه 05 مهر 1390, 10:46 صبح
آقا دمت گرم....

neynavaz
چهارشنبه 06 مهر 1390, 11:44 صبح
دوست عزیز
rajabpour (http://barnamenevis.org/member.php?155967-rajabpour)
راه حل شما خیلی خوب جواب داد فقط مشکل اینه که کدی رو کاربر انتخاب میکنه و روی تکست باکس میشینه
وقتی میخوایید با پارامتر به دیتابیس بفرستید یا با مسیج باکس نشون بدید همون مقدار قبلی رو داره
؟؟؟؟
شما راه حلی دارید"؟!

neynavaz
پنج شنبه 07 مهر 1390, 21:06 عصر
مشکلش حل شد
باید یه تغییر بی اثری به تکست باکس بدید تا مقداری که داره نشون میده بشه همون مقدار واقعیه کنترل
مثل تغییر بی اثر زیر


textbox1.text=textbox1.text+" "
textbox1.text=textbox1.text.trim