PDA

View Full Version : پیدادکردن html element داخل class بدون find control



minaalamshahi
شنبه 29 مرداد 1390, 21:46 عصر
با سلام
من داخل دیتابیسم یکسری از صفحات به همراه element هایی که یک کاربر حق دسترسی به اونها رو داره رو ذخیره کردم
به صورت زیر
default1//btninsert---default2//txtname---
حالا وقتی کاربر وارد صفحه log in میشه بعد از تشخیص حدود دسترسی به صفحه مورد نظر هدایت میشه
حالا می خوام وقتی وارد صفحه میشه بتونه( object ها و input هایی که همه object ها html ای هستند ) رو که به اون دسترسی داره رو از داخل رشته بگیره و اونها رو visible کنه

MiladSe7en
شنبه 29 مرداد 1390, 22:49 عصر
سلام

شما میتونی با یک foreach همه کنترل ها رو بگیری و بررسی بکنی

minaalamshahi
شنبه 29 مرداد 1390, 23:00 عصر
foreach خوب با چه تابعی با چه متدی؟
اینو نمیدونم
اما نمی خوام از find control استفاده کنم،شنیدم که تابعی به اسم htmlelement هست اما هر چه search زدم در موردش چیزی ندیدم

MiladSe7en
شنبه 29 مرداد 1390, 23:44 عصر
شما باید Control های خودتون رو Runat Server کنی، بعد مثل مثال زیر باید عمل کنی واسه پیدا کردن کنترلها:
foreach (Control ctrl in form1.Controls)
{
if (ctrl is HtmlInputText )
{
}
}
*فقط یک مثال بود خودتون بسته به نیاز استفاده کنین.

HTMLElement تا جایی که میدونم واسه WebBrowser تو Windows Application هست. حالا اگه اشتباه میکنم بگین. :لبخندساده:

minaalamshahi
یک شنبه 30 مرداد 1390, 00:04 صبح
ولی من دارم web application می نویسم
windows appنیست

MiladSe7en
یک شنبه 30 مرداد 1390, 00:11 صبح
ولی من دارم web application می نویسم
windows appنیست
پس شما از HTMLElement نمیتونین استفاده کنین از مثالی خدمتتون دادم استفاده کنید.

minaalamshahi
یک شنبه 30 مرداد 1390, 00:16 صبح
یه مثاله یعنی به جای htmlinput text می تونم چیز دیگه ای بذارم؟
یا منظور دیگه ای هست؟

MiladSe7en
یک شنبه 30 مرداد 1390, 00:23 صبح
یه مثاله یعنی به جای htmlinput text می تونم چیز دیگه ای بذارم؟
یا منظور دیگه ای هست؟

دقیقاً، HtmlInputText همون TextBox هست که توی HTMLControls وجود داره یعنی همون Input
بزارین دقیق تر از همین کنترل یک مثال بزنم:

foreach (Control ctrl in form1.Controls)
{
if (ctrl is HtmlInputText )
{
if (((HtmlInputText)ctrl).ClientID == "Text1")
{
((HtmlInputText)ctrl).Visible = false;
}
}
}
کد بالا کنترل ها را چک میکند، اگر از نوع HTMLInputText بود ID آن را بررسی میکند و اگر ID آن برابر با text1 بود آن را مخفی میکند. :لبخندساده:
راستی مثال رو ضمیمه کردم. و اینکه HTMLInputText از مرجع System.Web.UI.HtmlControls آمده