PDA

View Full Version : قفل کردن صفحه هنگام استفاده از AJAX



maxpayn2
پنج شنبه 15 شهریور 1386, 17:10 عصر
سلام
فرض کنید در یک صفحه 2 تا dropdownlist داریم که با تغییر اولی ، item های دومی تغییر میکنه ، این 2 تا رو گذاشتیم تو updatepanel ، سوال اینه که چه طوری میشه وقتی تغییر داره انجام میشه ( Loading... نمایش داده میشه ) صفحه قفل بشه ؟ یعنی کاربر نتونه مثلا دکمه ای رو بزنه یا دوباره dropdownlist اولی رو تغییر بده یا ... و وقتی تغییر کامل انجام شد دوباره صفحه از حالت قفل در بیاد ؟
ممنون

medi33
جمعه 16 شهریور 1386, 20:42 عصر
سلام
به آدرس زیر مراجعه کنید به جوابتون می رسید:
http://mattberseth.com/blog/2007/07/indepth_the_updatepanel_aspnet.html
موفق باشید!

maxpayn2
شنبه 17 شهریور 1386, 07:39 صبح
سلام
خیلی ممنون که جواب دادین ، در این مثال از AJAX استفاده شده ولی صفحه قفل نمیشه و شما میتونید هم زمان با loading اطلاعات textbox رو عوض کنید و دوباره دکمه را فشار بدهید ، منظوره من این بود که در زمان loading کاربر نتونه هیچ کاری بکنه ، باز هم ممنون

hosseinab
شنبه 17 شهریور 1386, 08:53 صبح
میتونی مثل دانت نیوک با جاوا اسکریپت او تیکه رو که می خوای مخفی کنی

maxpayn2
شنبه 17 شهریور 1386, 09:57 صبح
میشه کد جاوا اسکریپت رو بنویسید ، من با جاوا اسکریپت کار نکردم ، ممنون

hosseinab
شنبه 17 شهریور 1386, 15:38 عصر
function Hide(newColor)
{
elem = document.getElementById("para1");
elem.style.display = 'none';
}
این رو امتحان نکردم اگر بزازی توی onclickclient باید درست باشه اما امتحان نکرد برای نمایشش هم به جای none بزار block اما اون رو نمی دونم کجا باید صدا زد para1 اسم یک تگ div که کنترلت رو باید بزاری توی اون

maxpayn2
یک شنبه 18 شهریور 1386, 07:33 صبح
ممنون آقای hosseinab (http://barnamenevis.org/forum/member.php?u=5906) ، من یک dll پیدا کردم که این کار رو به راحتی انجام میده ، فقط کافیه بهش بگین رو کدوم update panel تاثیر بذاره ، dll رو ضمیمه میکنم و نحوه استفادش رو هم اینجا مینویسم :




<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register Assembly="MattBerseth.WebControls.AJAX" Namespace="MattBerseth.WebControls.AJAX.DisableControl" TagPrefix="mb" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<script src="JS/JS.js" type="text/javascript"></script>
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel ID="upd1" runat="server">
<ContentTemplate>
<asp:TextBox ID="text1" runat="server"></asp:TextBox>
<asp:Button ID="btn1" runat="server" OnClick="btn1_Click" />
</ContentTemplate>
</asp:UpdatePanel>
<mb:DisableControlExtender ID="disableControlExtender" runat="server"
TargetControlID="upd1" />
<asp:UpdateProgress ID="updprog" runat="server">
<ProgressTemplate>
<img src="images/loading.gif" alt="up" />
</ProgressTemplate>
</asp:UpdateProgress>
<br />
</form>
</body>
</html>

rtech
یک شنبه 18 شهریور 1386, 10:50 صبح
ولی من که تست کردم هیچ اتفاقی رخ نداد ! البته بعد از خوندن کل مقاله تونستم درستش کنم :



http://mattberseth.com/blog/2007/08/disablecontrolextender.html

rtech
یک شنبه 18 شهریور 1386, 11:10 صبح
جناب maxpayn به 2 نکته هم که خیلی مهمه توجه کنید که ممکنه براتون مشکل درست کنه :



1. It doesn't work with FireFox
2. It would be nice if this was an ASP.NET AJAX extender control

maxpayn2
یک شنبه 18 شهریور 1386, 12:58 عصر
سلام آقای rtech من زبان انگلیسیم زیاد خوب نیست ولی تا اونجایی که از این مقاله http://mattberseth.com/blog/2007/08/disablecontrolextender.html فهمیدم نویسنده گفته این دو تا اشکال مربوط به مقاله قبلی یعنی http://mattberseth.com/blog/2007/08/disable_updatepanel_contents_d.html میشه ، اگه اشتباه میگم لطفا راهنمایی کنید
خیلی ممنون

rtech
یک شنبه 18 شهریور 1386, 13:56 عصر
بله درسته من از اون 2 تا نکته ای که گفته بود شروع به خوندن کرده بودم متوجه نشدم که نوشته این ماله اون پست های قبلیش بوده . موفق باشید و امیدوارم که مشکلتون حل شده باشه

maxpayn2
یک شنبه 18 شهریور 1386, 15:25 عصر
خیلی ممنون ، موفق باشید