با سلام ، من یه تیبل دارم که از طریق Literal اطلاعات رو داخلش بایند میکنم!
منظورم از اطلاعات کنترل هایی مثل چک باکس و تکست باکس که کنترل های کلاینت ساید هستند به شکل زیر:
مثلا مقادیری که وارد میشه برای ثبت کردن میخوام بعد پست بک بازم مقادیر داخلش بمونه و یا انتخاب هایی که انجام شده بعد پست بک باز پاک نشه! چطور میتونم دقیقا کل قالب این جدول رو به همراه اطلاعات قبل ثبت کردن بردارم و بعد ثبت باز یجوری تو همین Literal جاگذاری کنم که مقادیرش پاک نشن!؟
چطور درواقع میشه اطلاعات رو اول استخراج کرد به همراه تگ ها و tr , td ؟ ممنون میشم !
البته میدونم با Session میشه اما چطوری اول اینارو استخراج کنم؟
میتونید مقادیر را داخل سشن بریزید و پس از صبط دوباره واکشی کنید و نمایش دهید
اگر از کنترل های Server side استفاده کنید این مشکل را نخواهید داشت
کنترل های داخل تیبل رو از نوع سرور قرار دادم اما چون از طریق لیترال بایند میشه مقادیر بعد پست بک حذف میشن!
خب اخه مقادیر بدست بیارم بازم بعد فراخوانی چطور ست کنم؟ که فلان مقدار برای چه ستون و چه کنترل داخل تیبلیه و حتی کدوم سطر!!!!
خب با listral بایند نکنید
مستقیم در کد مقدار دهی کنید تا ViewState عمل کنه
خب آخه این سوالات از دیتابیس دارن فراخوانی میشن و براساس هر نوع انتخابی تغییر میکنن! حالا فرض بر این بگیریم که این سوالات هست و ثبت اطلاعات زده میشه اونوقت این اطلاعات برداشته میشه و در دیتابیس ثبت میشه
اما بعد ثبت یا حتی عدم ثبت بازم پاک میشن! از jquery ajax هم بخوام استفاده کنم چون از UserControl استفاده میکنم متدش کار نمیکنه!
راهی نداره تا ViewState تو این مورد عمل کنه و مقادیر رو نگه داره؟
من حتی یه روش به نظرم رسید که کلا جدول رو قبل ثبت با تمامی کدهای تگش و مقادیر فراخوانی کنم ودر ViewState ذخیره کنم اما چند تا کد فراخوانی تو جاوااسکریپت دیدم فقط اطلاعات زمان بایند شدن رو نشون میدن! مثل این کد:
function getEmail() { var email = new Array(); var arr = document.getElementsByClassName('email'); for (var i = 0; i < arr.length; i++) { email.push(arr[i].innerHTML); } alert(email.join(',')); }
این کد اطلاعاتی که اول کاری بایند شدن رو نشون میده! من میخوام با زدن دکمه تمامی تگ ها و کد ها و مقادیر بتونم بخونم اگه این حل بشه بقیش دیگه راحته تو ViewState ذخیره میکنم و بعد ثبت هم دوباره از ViewState میریزم تو لیترال!
لطفا اگر راهنمایی کنید ممنون میشم پروژه کاریمه و خیلی معطلم 3 4 روزه.
سپاس
در سایت نمونه داریم برای ایده
در همین سایت کلمه آرمون رو سرج کنید
مطالعه کردم اما روش شما جوری هست که نوع سوالا یکیه یعنی همش 4 گزینه ای مال من احتمال داره یه سوال 5 6 جواب اونم از نوع های مختلف مثلا چک باکس یا رادیو یا تکست باشه
بهترین روش اینه اطلاعات رو بصورت Ajax Jquery سیو کنم تا پست بک نخوره! اما متاسفانه تو UserControl ASCX من از کد زیر استفاده میکنم کار نمیکنه و فقط برای صفحات ASPX کار میکنه!
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script type="text/javascript" src="http://cdn.jsdelivr.net/json2/0.1/json2.js"></script> <script type="text/javascript"> $(function () { $("[id*=btnSave]").bind("click", function () { var user = {}; user.Username = $("[id*=txtUsername]").val(); user.Password = $("[id*=txtPassword]").val(); $.ajax({ type: "POST", url: "*WebUserControl.ascx/SaveUser", data: '{user: ' + JSON.stringify(user) + '}', contentType: "application/json; charset=utf-8", dataType: "json", success: function (response) { alert("User has been added successfully."); window.location.reload(); } }); return false; }); }); </script>
میشه بفرمایید چیکار کنم؟
ممنون
کد های Ajax در همه زبان ها کار میکنند
لاگ کنسول مرورگر را بررسی کنید و مشکل را پیدا کنید
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)