PDA

View Full Version : سوال: مشكل در پيدا كردن كنترل هاي صفحه؟



ahmad1358
جمعه 14 اسفند 1388, 22:12 عصر
با سلام من دارم روي يه سايتي كار مي كنم كه تو يه قسمت از اون سايت بايد ليست كامل چك باكس هاي تيك شده رو داشته باشم و نميخوام از چك ليست باكس استفاده كنم چون چك باكس ها در زمان اجزا ايجاد ميشوند و مكاني كه قرار ميگيرند پشت هم نيست من با اين تكه كد امتحان كردم ولي نشد من حدس ميزنم كه اين تكه كد نميتونه زماني كه از مسترپيج استفاده ميكنم كنترل هايي كه در صفحه هستند را شمارش كنه.



Cart.Text = "";
retval.Clear();
try
{
for (int i = 0; i < Page.Controls.Count; i++)
{
if (this.Controls[i].GetType() == typeof(System.Web.UI.WebControls.CheckBox))
{
Anthem.CheckBox mc = (Anthem.CheckBox)this.Controls[0];
if (mc.Checked)
Cart.Text = Cart.Text + mc.ID + "<br>";
}
}
}
catch
{
retval = null;
}


يا اين كد هم نتونست


foreach (Control c in Page.Controls)
{
if (c.GetType().ToString().Equals("System.Web.UI.WebControls.CheckBox")
)
{
كد من
}

من ميخوام يه راهي براي بدست آوردن آي دي چك باكسهايي كه تيك خورده اند بدست بيارم با تشكر.

hadi000333
شنبه 15 اسفند 1388, 00:35 صبح
فکر کنم این کد خیلی تمیز تر باشه
var checkedList = from item in Page.Controls.OfType<CheckBox>()
where item.Checked
select item;
در ضمن فکر کنم Parent.Controls توی کدشما بی معنی باشه.

ahmad1358
شنبه 15 اسفند 1388, 04:55 صبح
ممنون دوست عزیز ولی این 3 خطی که نوشتین به کد سی شارپ که نمیخوره اگه هم روش کار باشه که من گفتن از تمام موارد مثل page.Control یا Master.Control یا this.Control هم استفاده کردم ولی باز هم نتونستم تعداد کنترل های چک شده را بدست بیاورم البته وقتی برنامه رو Trace کردم تعداد کنترل ها را 1 کنترل در نظر گرفته بود (this.Control.Count) ولی وقتی موس را روی کلمه Control در زمان Trace برنامه می برم لیست تمام چک باکس ها رو نشون میده نمیدونم چیکار کنم.

hamed_kaveyani
شنبه 15 اسفند 1388, 07:17 صبح
برای تبدیل vb به c#

http://www.developerfusion.com/tools/convert/vb-to-csharp

ahmad1358
شنبه 15 اسفند 1388, 15:18 عصر
در هر صورت اگه وي بي هم باشه باز مشكل داره

بازم متذكر ميشم كد من تو پروژه اي كه مسترپيج نداشته باشه جواب ميده و لي پروژه‌ي من مسترپيج داره و من نميتونم كنترل هاي چك باكسش رو بدست بيارم.

ahmad1358
یک شنبه 16 اسفند 1388, 00:07 صبح
كسي نيست اين مشكلو حل كنه كه به كنترل هاي موجود در صفحه دسترسي داشته باشم (با وجود مسترپيج)

hadi000333
دوشنبه 17 اسفند 1388, 02:12 صبح
کل کدت رو بزار . منظورم صفحه aspx و cs هست.