PDA

View Full Version : سوال: حذف کامپوننت html در سمت سرور(اضطراری)



mahshad2005
جمعه 14 خرداد 1389, 19:33 عصر
سلام بچه ها
چطوری میشه یک کامپوننت HTML را سمت CodeBehind حذف کرد
کامپوننت من hidden fild هست و میدونم یرای اینکه سمت serverبا اون کار کرد باید سمت کلاینت runat=server را اضافه کرد
متشکرم

ALIREZA121
جمعه 14 خرداد 1389, 21:44 عصر
بیشتر توضیح بدید!

ali_zzr
شنبه 15 خرداد 1389, 00:59 صبح
خب اینکه به نظر سخت نمیاد.شما runat=server رو بذار .بعد visible او رو برابر false قرار بده .
به صورت اون در صفحه خروجی در html شما render نمیشه.انگار اصلا وجود نداره

mahshad2005
شنبه 15 خرداد 1389, 08:24 صبح
خب راستش hidden fild کامپوننت ا ی هست که توی صفحه دیده نمی شه پس چیزی مثل visible نداره. فقط برای این به کار میره که مثلا یک مقدار یا value را از سمت کلاینت پر کنی بفرستی سمت سرور ,
در مورد توضیح بیشتر باید بگم تو برنامه من سمت کلاینت یک فانکشن jquery هست که دائما hidden fild میسازه و مقدار (value)را hidden fild از کاربر می گیره و سمت سرور داخل بانک ذخیره میکنه.مشکل اینجاس که هر بار فانکشن اجرا میشه یک hidden fild جدید میسازه و این مشکل است میخواستم سمت سرور بعد از insert اون hidden fild حذف کنم که با دستور
Request.Form.Remove("Hidden1
خطای read only میده و اجازه این کار رو نمیده.
در ضمن سمت کلاینت این کار رو با jqueryمی تونم انجام بدم اما سمت سرور می خوام این کار رو بکنم
ممنون

ALIREZA121
شنبه 15 خرداد 1389, 09:18 صبح
چیزی رو که میفرمایید در هر صورتی باز هم باید کد سمت کلاینت اجرا بشه حتی اگه با کلاسهای asp.net فراخوانی بشه میتونی از کد جاوا اسکریپت زیر استفاده کنی

document.getElementById('comp_id').outterHTML=''
این رو باید تو کدهای سمت سرورت قرار بدی
مثلا تو php همین کد رو echo میکنن!

Nightbat
شنبه 15 خرداد 1389, 09:50 صبح
الگوریتم jquery ت مشکل داره، به نظر من اون رو درست کن. منطقی نیست هر بار اجرا بشه یه hiddenfield بسازه، بگو چیکار می کنه که بشه بهینه اش کرد.

mahshad2005
شنبه 15 خرداد 1389, 10:57 صبح
درسته شاید به قول شما باید در نهایت از سمت کلاینت این کار رو بکنم قسمتی از
فانکشن که hidden fild می سازه این است که به ازای هر بار اجرا شدن فرم ورود اطلاعات سمت کلاینت اجرا میشه :

if (bValid){$('#users tbody').append('<input id="Hidden1" type="hidden" value='+name.val()+'/>');
$(this).dialog('close');}


#users tbody در قسمت body صفحه

<table id="users" ">

<tbody>
<tr>
<td> <input id="Hidden1" type="hidden" runat="server"/></td>
</tr>
</tbody>
</table>