PDA

View Full Version : چرا ("")form1.FindControl کار نمیکنه؟



mohamadmahmodi
شنبه 07 فروردین 1395, 11:04 صبح
سلام به همه
صفحه وب من طوری طراحی شده که کاربر می تواند با یک دکمه به کمک جاوا اسکریپت، input text (در سمت کاربر) ایجاد کنه (و به اونها ویژگی ها یکتا از قبیل id-مانند txtrelat1- و runat = server اختصاص پیدا کنه) و راه های ارتباطی خودشو مثل تلفن و ایمیل را در هر کدام ثبت بکنه؛
به صورت پیش فرض یک input text با id = txtrelat0 وجود داره، وقتی دکمه ثبت زده میشه ، متد register در سمت سرور به کمک رویداد onserverclick صدا زده میشه؛
سوال اصلی اینه که وقتی از متد findcontrol به شکل زیر استفاده می کنم:
form1.findcontrol("txtrelat0")
txtrelat0 رو پیدا میکنه و می تونم اون رو به عنوان HtmlInputText بگیرم ، ولی وقتی
form1.findcontrol("txtrelat1")
رو میزنم، پیدا نمیکنه و null تحویلم میده!
خودم فکر میکنم که یک بار باید postback انجام بشه ولی وقتی دکمه ی ثبت(Input submit) و همچنین همه textinputها ، runat=server هستند ، دیگه باید پیدا بکنه؛
یا اینکه مشکل کجاست؟
با تشکر از همه

mohamadmahmodi
یک شنبه 08 فروردین 1395, 12:47 عصر
خبب ببینید دوستان با Request.Form مقدار اون بدست می آید ولی من در واقع می خواهم css style attribute های اونها رو در aspx .cs تغییر بدم

siolishe
جمعه 13 فروردین 1395, 07:45 صبح
من جواب سوال شما رو نمیدوم!
ولی ظاهرا همزمان درگیر یه موضوع مشترک هستیم
اگه ممکنه یه سوال بپرسم؟
اینکه شما راهکاری برای ایجاد حلقه روی کنترلهای داینامیک پیدا کردی؟ به چه صورت تعداد دفعات تکرار حلقه رو مشخص میکنی؟

mohamadmahmodi
جمعه 13 فروردین 1395, 08:29 صبح
من جواب سوال شما رو نمیدوم!
.....
یه استایل خالی تو فایل css ایجاد می کنید:
.null{}
بعد وقتی کنترل داینامیک رو ایجاد کردید ،کلاس اون رو null مقدار دهی می کنید(کنترل ها رو هم در یک مثلاً div با id=mydiv قرار میدید)؛
در کد javascript:
var myDivChilderen=document.getelementbyid("mydiv").childeren;
for(var i=0;i<myDivChilderen.count;i++)
{
if myDivChilderen[i].className=="null"
{
do something
}}

siolishe
جمعه 13 فروردین 1395, 14:45 عصر
یه استایل خالی تو فایل css ایجاد می کنید:
.null{}
بعد وقتی کنترل داینامیک رو ایجاد کردید ،کلاس اون رو null مقدار دهی می کنید(کنترل ها رو هم در یک مثلاً div با id=mydiv قرار میدید)؛
در کد javascript:
var myDivChilderen=document.getelementbyid("mydiv").childeren;
for(var i=0;i<myDivChilderen.count;i++)
{
if myDivChilderen[i].className=="null"
{
do something
}}

مرسی از پاسختون ولی منظور من ایجاد حلقه تو قسمت code behind بود نه javascript