PDA

View Full Version : خواندن مقدار id از بانک



s_ms_m
یک شنبه 29 اسفند 1389, 16:32 عصر
با سلام خدمت دوستان
مشکلی که من دارم این هستش که من در صفحه خودم یه repeater دارم و می خوام به یه مقدار از یک textbox خودم در اون دسترسی داشته باشم من یه تکس باکس از نوع asp رو تو repeater قرار دادم ولی خطا میده که نام تکس باکس تکراری شده به خاطر همین تصمیم گرفتم که id رو یک فیلدم که تو بانک هست و تکراری هم نیست قرار بدم ولی باز تو حالت design خطای تکراری بودن رو می گیره
لبته باید بگم که وقتی از تکس باکس واسه html استفاده می کنم چنین مشکلی نیست ولی نمی تونم به اون از طریق findcontrol داشته باشم و خطای null reference می ده
<asp:TextBox ID="<%#Container.DataItem("id")%>" Text ="<%#Container.DataItem("see")%>" runat="server"></asp:TextBox>

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

spranza804
یک شنبه 29 اسفند 1389, 16:54 عصر
دوست عزیز ID رو کلا حذف کن.

s_ms_m
سه شنبه 02 فروردین 1390, 01:01 صبح
دوست عزیز اگه id رو پاک کنم دیگه اطلاعات رو رو صفحه نشون نمی ده
کسی نیست من رو راهنمایی کنه؟

behiunforgiven
سه شنبه 02 فروردین 1390, 14:10 عصر
میشه کد کامل تر رو بذارید؟

شما اگه توی Repeaterکنترل قرار میدید فقط باید چک کنید که آیدی اون با بقیه کنترل های صفحه یکسان نباشه وگرنه لازم نیست که به ازای هر کنترل یک آیدی غیر تکراری بدید. فکر نمی کنم با این کد مشکلی براتون پیش بیاد



<asp:TextBoxID="TextBox1"Text='<%#Eval("rText")%>'runat="server"/>

karim orooji
سه شنبه 02 فروردین 1390, 17:55 عصر
با سلام به دوست گرامی
برنامه رو بزار بهتر میشه روش نظر داد

s_ms_m
چهارشنبه 03 فروردین 1390, 00:07 صبح
سلام دوستان ممنون از اینکه به سوالم توجه کردین
مشکل قبلیم حل شده ولی یک مشکل دیگه دارم و اینه که چطور می تونم به مقدار هر کدام از این textbox ها موقع ایجاد هر کدام تو repeater دسترسی داشته باشم و چک کنم که چی هستن تو رویداد ItemDataBound مربوط به repeater این کد رو نوشتم

Dim txt As TextBox = DirectCast(e.Item.Controls(1), TextBox)
If txt.Text = "0" Then
MsgBox(txt.Text)
End If

که این خطا رو می ده
Specified argument was out of the range of valid values. Parameter name: index
البته علتش هم فکر می کنم اینه که چون هنوز این کنترل ایجاد نشده
یک سوال دیگمم فرق بین نوشتن Eval و Container.DataItem در چی؟

behiunforgiven
چهارشنبه 03 فروردین 1390, 01:32 صبح
دوست خوبم با این دستور می تونی به آیتم های مورد نظر دسترسی داشته باشی




foreach (RepeaterItem item in Repeater1.Items)
{
TextBox txt = (TextBox)item.FindControl("YourTextBoxID");

txt.Text = "SomeThing!"
}

behiunforgiven
چهارشنبه 03 فروردین 1390, 01:35 صبح
مثل این که شما از VB استفاده می کنید! متاسفانه من کدهایی که گذاشتید رو به علت در هم برهم بودن در ابتدا متوجه نشدم و بعد فهمیدم، به هر حال شما از تابع findControl می تونید استفاده کنید.