PDA

View Full Version : سوال: دسترسی به کنتل های html در کد بدون runat=server



zareei_ta
دوشنبه 23 آبان 1390, 15:16 عصر
چطور میشه از کنترل های html مثل input در کد استفاده کنیم اگر از runat=server استفاده کنم در کدم میشه از کنترل ها استفاده کرد اما اگه اینکار کنم jquery که استفاده کردم کار نمیکنه. برای اینکار چه راه حلی داره

raziee
دوشنبه 23 آبان 1390, 16:09 عصر
چطور میشه از کنترل های html مثل input در کد استفاده کنیم اگر از runat=server استفاده کنم در کدم میشه از کنترل ها استفاده کرد اما اگه اینکار کنم jquery که استفاده کردم کار نمیکنه. برای اینکار چه راه حلی داره
با سلام.
به طور کلی وقتی کنترل سمت سرور ایجاد مینید(حالا هر کنترلی باشه) برای استفاده از این کنترل در سمت کلاینت(مثلا با جی کوئری) باید ClientId اون کنترل رو در سمت کلاینت استفاده کنید.

zareei_ta
دوشنبه 23 آبان 1390, 16:39 عصر
مگه کنترل های html سمت کلاینت نیستند ، میشه بیشتر در مورد جوابتون توضیح بدید

hjran abdpor
دوشنبه 23 آبان 1390, 18:11 عصر
سمت کلاینت هستند ولی این کاری که شما دارید بهاش میکنید تبدیل به سمت سرور میشود و میتونی با تعریف یه ID براش اون را سمت کلاینت فراخوانی کنید.

oossaa
دوشنبه 23 آبان 1390, 21:56 عصر
در مورد مشکل شما فکر کنم با قرار دادن خاصیت ClientIDMode="Static" مشکلت حل میشه

اما در کل برای دسترسی به اشیا html در بخش سرور می تونی از این کد استفاده کنی


Request.Form["نام شیء"];

zareei_ta
سه شنبه 01 آذر 1390, 15:58 عصر
میشه بیشتر توضیح بدین کنترل input خاصیت ClientIDMode نداره

raziee
سه شنبه 01 آذر 1390, 21:05 عصر
میشه بیشتر توضیح بدین کنترل input خاصیت ClientIDMode نداره
input یک کنترل سمت سرور نیست، به همین دلیل Property های کنترل های سمت سرور رو نداره.
برای گرفتن مقادیر کنترل های معمولی HTML در ASP.NET از پراپرتی name استفاده کنید.
string value = Request.Form["inputname"];