View Full Version : سوال: ساخت RequiredFieldValidator در زمان اجرا
mpmsoft
شنبه 30 آذر 1387, 21:35 عصر
دوستان من در زمان اجرا یکسری Textbox ایجاد می کنم و به ازای هر یک از Textbox های یک RequiredFieldValidator برای اون ایجاد می کنم و توسط کد زیر تنظیمات مربوطه رو انجام می دم
ولی RequiredFieldValidator کار نمی کنه مشکله کد من چیه ؟
Dim Vld As New RequiredFieldValidator
Txt.ID = "txt_" & Split(Dst.Tables(0).Rows(0).Item("Details").ToString, "-")(i)
Vld.ID = "vld_" & Split(Dst.Tables(0).Rows(0).Item("Details").ToString, "-")(i)
Vld.ControlToValidate = Txt.ID
Vld.ErrorMessage = "لطفا این فیلد را وارد کنید"
mahdi_farhani
یک شنبه 01 دی 1387, 11:52 صبح
1-آیا از Ajax استفاده میکنی ؟
2-اگر داخل حلقه هست ولیدیتورت حتماً New بشه
mpmsoft
یک شنبه 01 دی 1387, 12:32 عصر
آیا از Ajax استفاده میکنی ؟
خیر
اگر داخل حلقه هست ولیدیتورت حتماً New بشه
بله به این شکل هست به مشکلی هم در کد بر نمی خورم ولی تست می کنم کار نمی کنه
mahdi_farhani
یک شنبه 01 دی 1387, 13:02 عصر
میشه کدتون رو بزارید
Chabok
یک شنبه 01 دی 1387, 13:49 عصر
با سلام
کنترل های Validator مثل هر کنترلی باید روی صفحه ایجاد شوند .
شما باید یک PlaceHolder و یا هر کنترلی که Container باشد روی صفحه بزارید و این کنترلی که ساخته اید را به آن اضافه کنید :
MyPlaceHolder.Controls.Add(MyValidator)
موفق باشید . خدانگهدار
mpmsoft
یک شنبه 01 دی 1387, 16:45 عصر
دوست عزیز حتما باید توی PlaceHolder قرار بگیره ؟
من به ازای هر TextBox یک Validator گذاشتم پس بنابراین چه نیازی هست من از کدی که شما قرار دادید استفاده کنم ؟
MyPlaceHolder.Controls.Add(MyValidator)
من کنترلها رو در Table گذاشتم
میشه کدتون رو بزارید
کد رو در بالا قرار دادم فقط این کد توی یک For هست همین
فقط به همین ترتیب من TextBox ها رو هم می سازم
mahdi_farhani
یک شنبه 01 دی 1387, 21:50 عصر
TextBox myText = new TextBox();
RequiredFieldValidator myValidator = new RequiredFieldValidator();
myText.ID = "myText_" + i.ToString();
myValidator.ID = "myVal_" + i.ToString();
myValidator.ControlToValidate = myText.ID;
myValidator.ErrorMessage = "aaa";
row_1.Controls.Add(myText);
row_1.Controls.Add(myValidator);
این کد جواب میده
mpmsoft
دوشنبه 02 دی 1387, 00:07 صبح
دوست عزیز کدی که من نوشتم هم مثل کدی هست که شما نوشتید ولی باز هم زمانی که بروی دکمه ذخیره کلیک می کنم عملیات انجام نمی شه
البته دوست عزیز من یک دکمه از نوع Image Button بروی همون فرم گذاشتم احتمال داره مشکل از اینجا باشه
آیا این کنترلها و دکمه ذخیره باید در یک group باشند ؟
For i = 0 To i2
Dim Tr As New TableRow
Dim TC1 As New TableCell
Dim TC2 As New TableCell
Dim Txt As New TextBox
Dim Lbl As New Label
Dim Vld As New RequiredFieldValidator
Tr.ID = "TR_" & i
TC1.ID = "TC_" & i
TC2.ID = "TC2_" & i
Lbl.ID = "Lbl_" & Split(Dst.Tables(0).Rows(0).Item("Details").ToString, "-")(i)
Lbl.Text = Split(Dst.Tables(0).Rows(0).Item("Details").ToString, "-")(i)
TC1.Controls.Add(Lbl)
TC1.BackColor = Drawing.Color.Aqua
Txt.ID = "txt_" & Split(Dst.Tables(0).Rows(0).Item("Details").ToString, "-")(i)
Vld.ID = "vld_" & Split(Dst.Tables(0).Rows(0).Item("Details").ToString, "-")(i)
Vld.ControlToValidate = Txt.ID
Vld.ErrorMessage = "لطفا این فیلد را وارد کنید"
'Vld.Validate()
Vld.SetFocusOnError = True
Txt.Visible = True
TC2.Controls.Add(Txt)
TC2.Controls.Add(Vld)
Tr.Cells.Add(TC1)
Tr.Cells.Add(TC2)
Table1.Rows.Add(Tr)
Next
mahdi_farhani
دوشنبه 02 دی 1387, 22:57 عصر
دوست گرامی اگر صفحتون را بزارید زودتر به نتیجه میرسید .
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.