سلام خسته نباشید
من داخل دایو توی code behind یه سری سوال میسازم و نمایش میدم حالا مشکل من اینجاست با اینکه داخل آپدیت پنل گذاشتم اما باز پست بک اتفاق میفته چیکار باید کنم
من trigger هم تعریف کردم اما خطا میده control id رو روی آیدی دایو ست کردم این ارور رو بهم میده
بعد اینکه من سوالها رو تو کد که میسازم پاسخ ها رو با ردیو باتن لود میکنم و نکته ای هم که داره من خودم تو کد postback ردیو باتن رو true قرار دادم چون در صورت انتخاب جواب ، سوالات مرتبط باید لیست بشه
خیلی برام حیاتیه ممنون میشم راهنماییم کنید
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" > <ContentTemplate> <div class="profile-user-info profile-user-info-striped" id="myFormContainer" runat="server" style="overflow: auto; height: 400px; padding: 10px;"> <div class="profile-info-row" > </div> </div> </ContentTemplate> </asp:UpdatePanel>
راديو باتن رو داخل update panel نذاشتي
يا آبجكتي كه runat="server" كه با اشياء داخل فرمت در ارتباطه بايد داخل
update panel بزاري
صورت سوالو خوندید؟؟؟؟؟؟؟؟؟؟؟؟
کنترلها داخل code behind ساخته میشوند و به تگ mycontainer اضافه میشن
و کل تگ داخل update panle هست
خودم چندتا توضیح میدم برای دوستانی که ممکنه مشکل منو داشته باشن
یک اینکه باید از trigger ها استفاده کرد که اینم ذر صورتی شدنی هست که کنترلها در قسمت سورس وجود داشته باشند چون تریگرها سمت کلاینت هستند
دوم این هست که بهترین راه برای حل چنین مشکل استفاده از جاوا اسکریپت می باشد
سلام دوست عزیز
چیزی که به ذهنم می رسه اینه که برای attach کردن trigger روش زیر بهتر باشه
<div> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:UpdatePanel ID="updPanel" runat="server" UpdateMode="Conditional"> <Triggers> <asp:PostBackTrigger ControlID="btnUpload" /> </Triggers> <ContentTemplate> <asp:FileUpload ID="fupload" runat="server" /><br /> <asp:Button ID="btnUpload" runat="server" Text="Upload" onclick="btnUpload_Click" /> </ContentTemplate> </asp:UpdatePanel> </div>
مرسی سمیه حاتمی عزیز
اما این روش زمانی درست هست که کنترلها در صفحه وجود داشته باشن من تمامی کنترلها رو در قسمت کد تولید میکنم پس استفاده از تریگر معنا نداره دیگه
تنها راه استفاده از جی کوئری هست به این صورت که یه فیلد پنهان تعریف کرد و مقدار اسکرول رو داخلش نگه داشت و بعد پست بک دوباره همان مقدار رو به تگ دایو میدهیم
<script type="text/javascript"> window.onload = function () { var div = document.getElementById("dvScroll"); var div_position = document.getElementById("div_position"); var position = parseInt('<%=Request.Form["div_position"] %>'); if (isNaN(position)) { position = 0; } div.scrollTop = position; div.onscroll = function () { div_position.value = div.scrollTop; }; }; </script> <div id="dvScroll" style="overflow-y: scroll; height: 260px; width: 300px"> </div> <hr /> <input type="hidden" id="div_position" name="div_position" />
این هم کدهای من که کاملا اوکی هست .
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)